Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

вырезание части файла   Найти похожие ветки 

 
Xerx ©   (2004-01-31 22:35) [0]

Можно ли удалить фрагмент файла в нём самом, т.е. НЕ СОЗДАВАЯ временного файла, НЕ КОПИРУЯ весь файл в ОЗУ, НЕ СОЗДАВАЯ отражение файла в адресное пространство, и т.д.? Очень интересно бы узнать как.


 
Islander   (2004-01-31 22:45) [1]

Создать типизированный файл типа file of char

И писать примерно так:

s:=Read (f, n+1);
Seek (f,n);
write (f, s);

и т.д. Короче, последовательно сдвигать данные. Но тут очень многое зависит от буфера S, чем он больше, тем лучше.

А в конце вызвать процедуру удаления конечных n-блоков (не помню, как называется)


 
Powerland Software ©   (2004-01-31 23:16) [2]

Если сдвигать, то надо блоками, а не по 1 байту. Будет быстрее.
Можно попробовать прямой доступ к диску. В чате однажы этот вопрос обсуждался. Надо было из 300Мб файла удалить первые 40 байт.



Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
1-29413
Maxim Vetera
2004-01-31 20:30
2004.02.10
2 динамических массива в 1


8-29485
Denver_99
2003-10-08 21:42
2004.02.10
Разработка ценника


14-29570
denmin
2004-01-20 14:56
2004.02.10
Помогите!! Не могу работать!!


14-29567
HermitAlex
2004-01-20 13:36
2004.02.10
Обучение игры в бильярд


14-29542
Knight
2004-01-20 21:24
2004.02.10
Загружать список пользователей с сервера...