var
fileName:String;
Cnt,i,j:Integer;
MemStream:TMemoryStream;
temp:Array of byte;
begin
if OpenDialog1.Execute then
begin
Edit1.Text:=OpenDialog1.FileName;
MemStream:=TMemoryStream.Create;
MemStream.LoadFromFile(OpenDialog1.FileName);
Cnt:=MemStream.Size;
MemStream.Position:=0;
SetLength(temp,Cnt);
MemStream.ReadBuffer(Pointer(temp)^,Cnt);
MemStream.free;
end;
通过文件流读取
var
F:Tfilestream;//声明一个文件流
begin
F:=Tfilestream.Create(filename,Fmopenread or FmShareDenyNone); //创建文件流实例,filename是你要读取的文件的路径,Fmopenread or FmShareDenyNone是赋给只读属性和共享属性
F.Seek(offset,sofrombeginning); //定位指针倒你要读取二进制文件的偏移地址。
F.Read(buffer,S); //读取 buffser为一个缓冲区,S为你读取数据大小,就是从指针所处的位置开始算。