|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.09.2014, 23:26 | #1 |
Регистрация: 16.09.2014
Сообщений: 5
|
Удаление строки из файла
Доброго времени суток. Интересует вопрос по следующей теме:
Как удалить первую строку из файла. При этом файл может быть любого размера (например, 4 ГБ). А 4 ГБ подгружать в память не айс. |
16.09.2014, 23:32 | #2 |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
>> При этом файл может быть любого размера
TFileStream |
17.09.2014, 00:12 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
|
17.09.2014, 15:36 | #4 |
Регистрация: 16.09.2014
Сообщений: 5
|
можете подсказать, как реализовать
|
17.09.2014, 15:42 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну коль единовременно нельзя 4 Гб в память, то читайте и пишите в другое место порциями, попутно удаляя нужную строку. Будет долго. Просто с одним TFileStream получится только или обрезать файл с конца, или забить какой-то кусок файла другой информацией, теми же, например, двоичными нулями
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.09.2014, 15:55 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
prog32bit, так реализовать просто.
Открываете входной файл (можно через TFileStream), находите место окончания удаляемого с начала файла блока данных (конец удаляемой первой строки), устанавливаете указатель на первый байт после этого блока, пишете во новый (или временный файл) все данные. Закрываете исходный файл. При необходимости исходный файл удаляете (или переименовываете в .BAK), новый/временный переименовываете в имя изначального файла. Профит. p.s. сдвигать информацию прямо в файле конечно же можно, но это чревато потерей целостности исходного файла, если процесс (по любой причине) прервётся. |
17.09.2014, 17:35 | #7 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Файл какого формата содержимого: Текста или бинарного?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
17.09.2014, 17:39 | #8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Очевидно же что текст.
|
17.09.2014, 17:47 | #9 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Сколько же у него там текста тогда? Роман "Война и мир" и то в электроном виде весит меньше.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
17.09.2014, 17:53 | #10 |
Заблокирован
Регистрация: 12.09.2014
Сообщений: 544
|
Думаю, что 4gb, это запас прочности. Явно не бинар. Если в бинаре тупо снести первую строку, то он умрёт, будь то программа, или медиафайл.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
УДаление строки из файла методом создания временного файла. | dykatob | Общие вопросы C/C++ | 3 | 28.05.2011 01:46 |
Удаление строки из файла | Flippp | Общие вопросы C/C++ | 10 | 12.11.2009 19:36 |
Удаление строки из файла. | Arhe | Общие вопросы .NET | 4 | 03.11.2009 12:12 |
Удаление строки из файла | Македонский | Общие вопросы Delphi | 5 | 29.08.2007 15:40 |