2009-10-07 2 views
0

Как узнать, когда im в конце файла?C# WebClient.OpenЧтобы узнать, есть ли eof?

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

Client.IsBusy делает возвращение ложным .. и я не могу понять, как получить доступ к Client.ResponseHeaders stream.Length дает мне исключение? так как я могу узнать, если im в конце файла.

ответ

2

При чтении из потока возвращается 0 байт, вы находитесь в конце. Если блокировка чтения блокируется, вы еще не закончили. Это справедливо для всех потоков доступа в .NET.

Из MSDN Stream.Read():

Чтение возвращает 0 только тогда, когда нет больше данных в потоке и не больше не ожидается (например, в виде закрытого сокета или конец файла). Реализация может возвращать меньшее количество байтов, чем запрошено, даже если конец потока не был достигнут.

Смежные вопросы