Конференция "KOL" » Большой файл сохранить в массив [Delphi, Windows]
 
  • Amber (07.09.12 15:33) [0]
    Приветствую.
    Как в KOL быстро открыть большой (примерно сто-двести метров)  не типизированный файл, произвести с ним манипуляции и быстро сохранить в виде массива 16 значений?
    NewReadFileStream и NewWriteFileStream? Получается очень медленно или просто не знаю как. Подскажите  примером.
  • miek (19.09.12 11:03) [1]
    Именно в KOL никак. Используй MMF(отображение в память).
  • rednakse © (22.09.12 13:41) [2]
    Была подобная задача. Открывал поток на чтение(NewReadFileStream) отражал в память(NewMemoryStream), проводил манипуляции и отражал в файл (NewWriteFileStream). Естественно памяти жрет неимоверно. Я бы блоками на самом деле сделал бы, если бы не был на столько ленив :)
  • rednakse © (22.09.12 13:48) [3]
    Про блоки... хм, есть функция копирования потока. Читаешь из файлового потока определенный размер, к примеру 1 Мб в поток в памяти, будет как буфер, проводишь манипуляции, записываешь в выход. Очищаешь буфер, читаешь снова... в общем в цикле. Примером не обрадую, так как немного сменил специализацию и перестал заниматься паскалем, надеюсь временно.
  • Thaddy © (30.09.12 13:44) [4]
    There are several examples for buffering on my old website... From Julian Bucknall. MMF is not necessary.
 
Конференция "KOL" » Большой файл сохранить в массив [Delphi, Windows]
Есть новые Нет новых   [118639   +35][b:0][p:0]