![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение/Запись файла [D5, Win95/98, WinXP]
novarm44 © (2002-10-28 02:24:00)Необходимо работать с файлами большого объема! Стандартные функции Read и Write в данном случае жутко тормозят.
Допустим я буду в программе работать с массивом:
data: array of byte (длина будет задаваться в зависимости от размера файла)
Как быстро его записывать и считывать из файла?
p.s. Пробовал использовать TFileStream.Read (нашел в Help случайно) - помещает все 0 (скорее ничего не пишет).
Спасибо
novarm44 (2002-10-29 03:05:00) [1]Спасибо
Использовал BlockRead, BlockWrite.
Проблемы возникли из-за того что в литературе такого нет вовсе, а над подопытным файлом я сначала издевался различными MapViewOfFile и т.п. И каким-то образом видимо доступ подпортил, что любой метод выдавал нули.
TFileStream тоже работает.
MBo (2002-10-28 06:51:00) [2]TFileStream прекрасно работает,
>помещает все 0 (скорее ничего не пишет).
это от неправильного использования.
AlexZ (2002-10-28 06:32:00) [3]BlockRead? BlockWrite не пробовал?
Slym (2002-10-28 05:54:00) [4]Насколько большого объема? Кб? Мб? Гб?
С кило - все ясно... А вот с М и Г:
Оно тебе надо весь файл в оперативку загонять?
Тормозит - что значит?
Не обновляется окно? - Обновляй окно ручками...
Медленно пишет/читает? - Оно конечно долго read/write побайтно...
Читай страницами скажем в 32кб достаточно быстро, даже быстрее некуда (нужно быстрее? покупай сказевый винт)