Код, приведенный мной здесь — упрощенный, чтобы меньше было читать. Но он работает очень даже правильно, если речь идет о файлах размером до 4Гб. Вопрос по этому поводу я задавал здесь. На что получил ответ, который помог мне решить проблему.
Спасибо за обсуждение. Я уже решил использовать FileWrite/FileRead для решения своей задачи.
1. Эти махинации необходимы, чтобы перезаписывать определенные данные без урезки начала и конца файла. Если вы помните, то по умолчанию поток открывается в режиме trancate. Тоже самое относится и к последнему вашему замечанию. Без этого невозможно записать в середину файла, не потеряв его начала или конца. По крайней мере, я не нашел другого способа.
2. Спасибо.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Спасибо за обсуждение. Я уже решил использовать FileWrite/FileRead для решения своей задачи.