Delphi中流的ReadBuffer和Read什么区别?
看了下参数,一模一样的(唯一不同是procedure和function)。
还有为什么要用Read或者ReadBuffer?起什么作用呢?
麻烦详细点,谢谢!!!
[解决办法]
Read 好像是返回实际读取的字节 len 多大没关系
ReadBuffer len 过长时好像会出错 len 事先要清楚 没错才行
[解决办法]
procedure TStream.ReadBuffer(var Buffer; Count: Longint);
begin
if (Count <> 0) and (Read(Buffer, Count) <> Count) then
raise EReadError.CreateRes(@SReadError);
end;
尽量使用ReadBuffer
[解决办法]
Read读取全部
ReadBuffer可以读取部分,但不能超过总长度
[解决办法]
ReadBuffer是必须读取到所需字节,否则抛异常。比如stream当前位置到结尾的数据长度小于count参数,就抛异常。
[解决办法]
ReadBuffer内部会调用read