Пусть файл имеет начальный блок нулевых символов. Когда вы добавляете символ вперед, читайте блок, вставляйте символ справа налево и записывайте блок обратно. Когда блок заполнен, выполните более дорогую полную перезапись, чтобы добавить еще один нулевой блок. Таким образом, вы можете значительно сократить количество раз, когда вам придется полностью переписать.
Добавлено: Хранить файл в двух подфайлах: A (короткий) и B (длинный). Готовьтесь к А, как вам нравится. Когда A становится «достаточно большим», добавьте A к B (переписав) и очистите A.
Другой способ: сохранить файл как каталог небольших файлов ..., A000003, A000002, A000001.
Просто добавьте файл с наибольшим номером. Когда он станет достаточно большим, создайте следующий файл по порядку.
Когда вам нужно прочитать файл, просто прочитайте их все в порядке убывания.