JCL封装了对Stream流的操作类,使用简单方便。这里主要说下TJclEasyStream类的使用,该类封装了常用数据类型的读和写,用来作数据缓存,网络接收发送Buffer太方便了。
uses
JclStreams;
procedure test_easy_stream;
var
buff: TJclEasyStream;
str: string;
b: boolean;
n: integer;
begin
//创建的时候,需要给一个托管的流实例,第二个参数表示该类释放的时候,是否释放托管实例
buff:= TJclEasyStream.Create(TMemoryStream.Create, True);
buff.WriteBoolean(true);
buff.WriteInteger(123);
buff.WriteCString('hello world');
//流的读取也要按写入时候的顺序才行
buff.Position:=0; //这里从开始位置读取
b:= buff.ReadBoolean;
assert(b=true);
n:= buff.ReadInteger;
assert(n=123);
str:= buff.ReadCString;
assert(str='hello world');
buff.free;
end;