StreamReader.Read returns
本文关键字:returns Read StreamReader | 更新日期: 2023-09-27 18:07:58
我是一个编码新手。我试图一次从文件中读取几个字符,我的代码如下所示。但是,当文件的字符少于请求的字符时,它将'0返回到数组中,'0是什么意思呢?请帮我理解。
using (StreamReader sr = new StreamReader(m_segmentFile.TempFileName))
using (StreamWriter sw = new StreamWriter(m_segmentFile.DisplayFile))
{
while ( sr.Peek() >= 0 || m_segmentFile.ParserStatus == ParserStatus.Stopped)
{
buffer = new char[m_segmentFile.FieldWidth];
sr.Read(buffer, 0, buffer.Length);
block = new string(buffer);
if (block[0] != '%')
{
noerrors = m_segmentFile.CheckBlockValidity(block) && noerrors;
int percentComplete = (int)Math.Round((double)(offset * 100) / sr.BaseStream.Length);
if (percentComplete > m_percentParsed && percentComplete <= 100)
{
m_percentParsed = (int)percentComplete;
m_segmentFile.PercentParsed = m_percentParsed;
}
block = (m_segmentFile.FieldWidth * index).ToString() + ":" +block;
sw.WriteLine(block);
index++;
m_parserStatus = ParserStatus.Parsing;
}
else
{
sw.WriteLine(block);
//sr.BaseStream.Seek();
}
}