C#WebClient.OpenRead如何知道eof?

时间:2009-10-07 18:44:18

标签: c#

我如何知道文件末尾的时间?

WebClient Client = new WebClient();
Client.Headers.Add("User-Agent: QuickTime/7.6.2");
Stream stream = Client.OpenRead(link);

Client.IsBusy确实返回false .. 我无法弄清楚如何访问Client.ResponseHeaders stream.Length给了我一个例外?所以我怎么知道我是否在档案的最后。

1 个答案:

答案 0 :(得分:2)

当从流中读取返回0字节时,你就到了最后。如果读取调用阻塞,那么您还没有结束。对于.NET中的所有流访问都是如此。

来自MSDN Stream.Read()

  
    

只有当流中没有更多数据并且不再需要更多数据(例如关闭的套接字或文件结尾)时,读取才返回0。即使尚未到达流的末尾,实现也可以自由返回少于请求的字节数。