Какой самый эффективный способ вставить содержимое в двоичный файл или объединить два файла - PullRequest
0 голосов
/ 25 сентября 2010

Мы хотим вставить что-то в двоичный файл, но хотим сделать ввод / вывод как можно меньше. Мы не хотим читать вторую часть и писать ее обратно. Есть ли способ сделать это. Теоретически мы знаем, что файлы сохраняются в виде блоков в файловой системе. Можем ли мы просто разорвать цепочку блоков и вставить новую между ними?

Эта же идея может быть использована при объединении двух файлов. Прикрепите один за другим. Есть ли быстрый способ сделать это?

Проблема заключается в записи большого файла. Мы хотим записать его во множество небольших файлов и соединить их вместе.

Ответы [ 2 ]

2 голосов
/ 25 сентября 2010

Я бы сказал, не ходи туда ...

Для этого потребуется низкоуровневое кодирование, специфичное для файловой системы, которое может испортить файловую систему.

Если это действительно очень важно для вашего бизнеса, возможно, вы могли бы «эмулировать» блоки внутри файла. Однако это приведет к тому, что файлы, для которых предполагаемая структура не может быть разрешена другими «сторонами» (другим программным обеспечением, использующим файл).

1 голос
/ 25 сентября 2010

Вы наверняка не хотите связываться с файловой системой напрямую.Пусть ОС беспокоится об этом.Если вам нужно задать этот вопрос, вы, вероятно, не обладаете необходимыми знаниями для манипулирования вещами на этом уровне с большей эффективностью, чем в ОС.

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

Мне было бы интересно узнать больше о том, что вы пытаетесь сделать.Возможно, есть более простой способ.

...