是否有理由不检查带有Position和Length的C#流中的EOF
本文关键字:EOF Length 不检查 有理由 Position 是否 | 更新日期: 2023-09-27 18:26:36
在寻找一种阅读到FileStream结束的好方法时,我遇到了一篇旧的文章,C#-Stream/FileStream EOF,其中提供了三个答案(尽管没有接受)。不过,在使用它们时,我还记得FileStream对象具有Position和Length属性。在我看来,(对于适当打开的FileStream fs
)
while (fs.Position < fs.Length)
{
// Read more from file
}
应该是一种直接的读取方式,直到文件结束。这个方法和那些属性没有被提及,我只是好奇:
这是否有其他属性或方法可能避免的缺点?
一个缺点是并非所有Stream
实例都有长度。Stream
可能支持没有确定长度的网络连接。因此,Length
属性只会抛出一个异常。