Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

Как дописать данные в начало файла? 


BofA   (2002-03-09 16:00) [0]

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



Anatoly Podgoretsky   (2002-03-09 16:14) [1]

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



BofA   (2002-03-09 16:29) [2]

Файл весит примерно 1,5GB. Долго - это 30 секунд.
Вопрос в том, можно ли как нибудь дописать данные сразу в начало? На уровне файловой системы это понятно : там в каждом блоке файла ссылка на следующий блок, поэтому достаточно поменять ссылки, но мне совершенно не хочется разбираться, как напрямую работать с файловой системой (по-моему, это уже извращение). Может в Delphi есть нечто подобное?



Anatoly Podgoretsky   (2002-03-09 16:44) [3]

Я же предложил тебе вариант без копирования, удаления и переименования. Время это почти не экономит, но работа с одним файлом. А винчестер у тебя хороший, скорость порядка 100 мб/сек



BofA   (2002-03-09 17:07) [4]

С винтами всё хорошо (2xIBM IC35xxxAVVA RAID 0), но всё равно 30 секунд - это слишком много, время - деньги. Зато теперь хоть обхожусь одним файлом, за это - большое спасибо, сам я не догадался.



Anatoly Podgoretsky   (2002-03-09 18:44) [5]

Удалено модератором



Builder   (2002-03-10 08:41) [6]

Удалено модератором



Anatoly Podgoretsky   (2002-03-10 09:20) [7]

Удалено модератором



Набережных С.   (2002-03-10 10:15) [8]

Удалено модератором



Anatoly Podgoretsky   (2002-03-10 11:04) [9]

Удалено модератором



Набережных С.   (2002-03-10 11:09) [10]

Удалено модератором



Anatoly Podgoretsky   (2002-03-10 11:10) [11]

Удалено модератором



Набережных С.   (2002-03-10 11:18) [12]

Удалено модератором



Anatoly Podgoretsky   (2002-03-10 11:29) [13]

Удалено модератором



Набережных С.   (2002-03-10 11:57) [14]

Удалено модератором




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.047 c
1-80555           VD                    2002-03-09 08:44  2002.03.25  
Как перехватить принудительное закрытие программы?


3-80389           Jony                  2002-02-25 11:09  2002.03.25  
Куда деваются ошибки?


4-80719           dr0Ne64               2002-01-24 22:48  2002.03.25  
No Ctrl+Alt+Del


3-80428           SZap                  2002-02-26 14:16  2002.03.25  
вопрос по SQL


1-80505           shamen                2002-03-12 13:26  2002.03.25  
Как добавить свою кнопку в панель инструментов Word из внешней проги на Delphi