文档简单地说ReadBlock是
"阻止版本的阅读"
但是,这是什么意思?
之前有人问过这个问题,但是,是吧?
http://www.pcreview.co.uk/forums/thread-1385785.php
那个回答的人说
基本上,这意味着您可以依赖StreamReader.ReadBlock返回,直到它读取的次数与您要求的一样多,或者它已到达流的末尾.
我是否正确理解这是必需的,因为Read可能无法为您提供所需的一切?那只是因为它返回0并不意味着你到达文件的末尾?
那么这意味着检查返回的字节数以外的其他内容(EndOfStream?)或使用ReadBlock代替?
ReadBlock并不意味着它是线程安全的.如果你使用Reflector来查看StreamReader.ReadBlock(它继承自TextReader.ReadBlock)的实现,它所做的就是多次调用"Read"方法,直到"Read"方法返回0或者我们读取为请求的多个字节.这是必需的,因为"Read"方法不一定会返回您要求的字节数.