Для меня работает следующее решение:
<head>
block of YourApplication.html: <link type="text/css" rel="stylesheet" href="YourCss.css">
Конец потока достигается, когда Stream.Read возвращает ноль.
Пример из MSDN, FileStream :
// Open a stream and read it back.
using (FileStream fs = File.OpenRead(path))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
или,
using (StreamReader sr = File.OpenText(filepath))
{
string line;
while ((line = sr.ReadLine()) != null)
{
// Do something with line...
lineCount++;
}
}
Возможно, вы ищете это
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
В строка (или даже в файле). Длина строки известна (свойство Length
), поэтому в этом нет необходимости
При чтении файла вы можете проверить:
Stream.Read
возвращает 0 StreamReader.ReadLine
возвращает ноль Нет символа EOF. Вызовите FileStream.Read
в цикле. Когда .Read ()
возвращает 0, если байты не прочитаны, все готово.
Документы очень четко описывают это поведение.
http://msdn.microsoft.com/en-us/library/system.io.filestream.read.aspx
Метод Read возвращает ноль только после достижения конца потока. В противном случае Read всегда считывает хотя бы один байт из потока перед возвратом. Если данные не доступны из потока при вызове Read, метод будет заблокирован до тех пор, пока не будет возвращен хотя бы один байт данных. Реализация может вернуть меньше байтов, чем запрошено, даже если конец потока не был достигнут.
Нет такого персонажа. Если вы вызовете FileStream.ReadByte, он вернет -1 для конца файла. Метод Read возвращает нулевые прочитанные байты. Если вы используете StreamReader для потока, его метод ReadLine возвращает значение null или свойство EndOfStream возвращает значение true.