Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизСоздание файла с заданным размером Найти похожие ветки
← →
Ultr (2004-02-22 00:14) [0]Вопрос: как создать файл заранее определенного размера?
Нужно енто для более быстрой записи файла и минимальной его фрагментации.
Заранее благодарю!
← →
Gero (2004-02-22 00:23) [1]Заполнить его пробелами до нужного размера.
← →
Palladin (2004-02-22 01:13) [2]
> Ultr © (22.02.04 00:14)
Не будь таким наивным, ничто тебя не спасет от фрагментации.
← →
Suntechnic (2004-02-22 08:37) [3]
SetFilePointer
+SetEndOfFile
← →
Defunct (2004-02-22 10:07) [4]> как создать файл заранее определенного размера?
ReWrite
Seek
CloseFile
← →
Ultr (2004-02-22 17:01) [5]Re: Defuct
В этом методе между Seek и CloseFile надо вставить BlockWrite или Write(в зависимости от типизации файла),иначе файл так и останется нулевым.
Этот метод я прошарил в аккурат после того как вопрос задал :) .
Re: Suntechnic
Если можно поподробней, как это применять, и желательно с кратеньким примером. Пожалста.
All:
Метод с Сиком хорош для кешируемых носителей - там он действительно хорошо избавляет от фрагменчуры, а вот для некешируемых, в момент сика и последующего врайта пустого места происходит действительно врайт с положенной ему затратой времени, и в итоге время записи удваивается :( .
← →
Ultr (2004-02-22 17:05) [6]И еще люди... А винда (ХР) ваще когда копирует практически никогда не фрагментирует (по крайней мере ну оччень старается), и как она этого добивается...
← →
Suntechnic (2004-02-22 18:05) [7]
var
hFile : THandle;
begin
hFile := CreateFile("c:\x.x", GENERIC_WRITE, FILE_SHARE_READ, Nil, OPEN_CREATE_ALWAYS, 0, 0);
SetFilePointer(hFile, desired_size, Nil, FILE_BEGIN);
SetEndOfFile(hFile);
CloseHandle(hFile);
end;
Только я надеюсь ты не собираешься создавать файлы > 4Gb? Иначе придётся поиграть с 3-им параметром ф-ции SetFilePointer.
← →
Ultr (2004-02-26 17:55) [8]Большое спасиба... :)
← →
Fay (2004-02-26 18:32) [9]OPEN_CREATE_ALWAYS ??
← →
Ultr (2004-02-28 19:58) [10]Удалено модератором
Примечание: Базар фильтруй, да?!...
← →
Ultr (2004-02-28 19:59) [11]Удалено модератором
Примечание: Флуд...
← →
Ultr (2004-02-28 20:35) [12]Удалено модератором
Примечание: Не обижайся, что ветка закрыта...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c