Объединение двух файлов без создания другого - PullRequest
0 голосов
/ 23 февраля 2012

Моя программа генерирует два файла.Первый генерируемый файл обычно огромен, обычно около 20 ГБ.Один после этого - файл в одну строку.Содержимое второго файла (одна строка) является заголовком первого файла.Таким образом, мой вывод должен быть один файл, который объединяет два.При ограничении памяти я не могу создать другой файл, чтобы объединить их.Какой лучший способ преодолеть это?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Вы не можете просто «вставить» данные в середину файла.Использование RandomAccessFile переопределит данные, которые уже записаны в определенную позицию файла.

Итак, первое решение (если это возможно) - создать заголовок, а затем добавить свои 20 ГБ.Если это невозможно, но вы можете оценить длину (в байтах) вашего заголовка, вы можете записать мусор, если длина совпадает с началом файла, затем записать свои данные, затем перейти в начало файла и записать (переопределить)) заголовок.

0 голосов
/ 23 февраля 2012

Использовать Файл произвольного доступа , который доступен ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...