Dav*_*nan 12
有几个选择.
1.使用文件流
var
Stream: TFileStream;
Value: Integer;
....
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Stream.ReadBuffer(Value, SizeOf(Value));//read a 4 byte integer
finally
Stream.Free;
end;
Run Code Online (Sandbox Code Playgroud)
2.使用阅读器
您可以将上述方法与a结合使用TBinaryReader,使值的读取更简单:
var
Stream: TFileStream;
Reader: TBinaryReader;
Value: Integer;
....
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Reader := TBinaryReader.Create(Stream);
try
Value := Reader.ReadInteger;
finally
Reader.Free;
end;
finally
Stream.Free;
end;
Run Code Online (Sandbox Code Playgroud)
reader类有许多函数可以读取其他数据类型.你可以用二进制编写器向相反的方向前进.
3.旧式Pascal I/O.
你可以声明类型的变量File和使用AssignFile,BlockRead等等.从文件中读取.我真的不推荐这种方法.现代代码和库几乎总是更喜欢流习惯用法,并且通过自己做同样的事情,您将使代码更容易适应其他库.