Название: [Решено] Редактирование файла Отправлено: __Heaven__ от Сентябрь 17, 2014, 17:58 Привет, друзья!
Впервые столкнулся с задачей редактирования большого файла (over 100GB). Проблема такая: У меня имеется в виде шаблона 2 небольших файла, один представляет из себя начало результирующего файла, а содержимое второго находится где-то в середине результирующего. Для создания своего файла я предпринимаю такие действия: Копирую шаблон1 в папку назначения с соответствующим именем. Открываю этот файл. Пиши какие-то данные. Открываю шаблон2. Делаю readAll в поток записи результирующего файла. Снова пишу какие-то данные. Теперь мне необходимо внести изменения в промежутке, соответствующем шаблону2. На последнем этапе мне нужно отследить некоторые числа, пусть это будет min и max. Далее необходимо найти зарезервированное слово в том самом промежутке и вставить свои значения. Как это сделать? На данном этапе вижу вариант, как писать свои данные в файл tmp, потом изменять свой шаблон и склеивать получившееся. Но меня волнует, что будет необходимо читать tmp размером в 100Гб. Как редактировать файл в серединке я не совсем понимаю. Update Решил записывать файл как есть с резервированием достаточного количества символов под каждое значение. Далее выполняю seek и пишу значение. Неиспользуемое зарезервированное пространство заполняю нолями. То есть, если зарезервировано 4 символа, нужно записать туда число 3 - пишем 0003 |