Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизTFileStream? Найти похожие ветки
← →
ZasranYolidza (2003-10-02 20:22) [0]Доброе время суток Мастера!
Помогите разобратся, как работать с потоками, а именно с TFileStream?
Дело в том что мне необходимо считывать данные из файла побайтно, что занимает огромное количество времени при использовании AssignFile..CloseFile, при использовании TFileStream процесс ускоряется, но осуществить доступ к байтам я сумел лиш через копибуффер (фактически это тоже повторение AssignFile...). Может есть возможность работать напрямую?
← →
-=x77=- (2003-10-02 20:27) [1]А почему нельзя считать данные целиком, а потом побайтно работать с ними уже из памяти? Возьмите TMemoryStream, сделайте LoadFromFile, а потом уже из памяти читайте побайтно: MyMemoryStream.Read (buf, 1);
← →
-=x77=- (2003-10-02 20:27) [2]А почему нельзя считать данные целиком, а потом побайтно работать с ними уже из памяти? Возьмите TMemoryStream, сделайте LoadFromFile, а потом уже из памяти читайте побайтно: MyMemoryStream.Read (buf, 1);
← →
Юрий Федоров (2003-10-02 20:56) [3]>>-=x77=- (02.10.03 20:27) [2]
А смысл ( TMemoryStream)? Все равно операционка все закеширует в оперативку...
Лучше просто считать из TFileStream в array of byte, а потом с этим массивом работать поэлементно
← →
DeScriptor (2003-10-02 23:43) [4]Я всегда делал так:
тут происходит то, что вам нужно
procedure DoSomething();
var DataBlock: array of byte;
DataFile: file;
succ:integer;
begin
AssignFile(DataFile,"filename.ext");
Reset(DataFile,1);
SetLength(DataBlock,65536);
repeat
BlockRead(DataFile,DataBlock[0],65563,succ);
until EOF(DataFile);
CloseFile(DataFile);
end;
Надеюсь, вам это поможет...
← →
Amoeba (2003-10-03 12:38) [5]А может просто отобразить этот файл в память (MemoryMapped File) и далее просто обращаться к нему как к байтовому массиву в памяти, хотя на самом деле все остается на диске. Единственно придется вызвать несколько API функций.
← →
Serginio1 (2003-10-03 14:13) [6]Используй кольцевой буффер. Пример
http://www.1c.hippo.ru/cgi-bin/predownl.cgi?id=2019
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c