在寻找直到FileStream结束时阅读的好方法时,我遇到了一个较旧的帖子C# - Stream/FileStream EOF,其中提供了三个答案(虽然没有接受)。但是,在使用它们时,我还记得FileStream对象具有Position和Length属性。在我看来(对于一个适当开放的FileStream fs
)
while (fs.Position < fs.Length)
{
// Read more from file
}
应该是直到文件结尾才能读取的直接方式。虽然没有提到这种方法和那些属性,但我只是好奇:
这有什么不利之处,其他属性或方法可能会避免吗?
答案 0 :(得分:1)
一个缺点是并非所有Stream
个实例都有长度。 Stream
可以支持没有确定长度的网络连接。因此Length
属性只会抛出异常。