-
Приветствую. Как в KOL быстро открыть большой (примерно сто-двести метров) не типизированный файл, произвести с ним манипуляции и быстро сохранить в виде массива 16 значений? NewReadFileStream и NewWriteFileStream? Получается очень медленно или просто не знаю как. Подскажите примером.
-
Именно в KOL никак. Используй MMF(отображение в память).
-
Была подобная задача. Открывал поток на чтение(NewReadFileStream) отражал в память(NewMemoryStream), проводил манипуляции и отражал в файл (NewWriteFileStream). Естественно памяти жрет неимоверно. Я бы блоками на самом деле сделал бы, если бы не был на столько ленив :)
-
Про блоки... хм, есть функция копирования потока. Читаешь из файлового потока определенный размер, к примеру 1 Мб в поток в памяти, будет как буфер, проводишь манипуляции, записываешь в выход. Очищаешь буфер, читаешь снова... в общем в цикле. Примером не обрадую, так как немного сменил специализацию и перестал заниматься паскалем, надеюсь временно.
-
There are several examples for buffering on my old website... From Julian Bucknall. MMF is not necessary.
|