读书人

Delphi中流的ReadBuffer和Read什么区别

发布时间: 2013-01-25 15:55:29 作者: rapoo

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

读书人网 >.NET

热点推荐