使用文本文件初始化Streamreader,每个其他行都有一个空行

时间:2017-06-02 15:42:15

标签: c# exception streamreader using initialization

我面临一个非常奇怪的问题。我尝试使用文件名和编码参数初始化流读取器,但由于文件的每一行都包含空行,因此我的代码失败。

我想要做的是阅读列表中的行。如果文件不包含空行,则代码执行成功。

我像这样把读者搞砸了

            using (StreamReader reader = new StreamReader(filename, encoding))
            {
               //do stuff...
            }

关于如何执行上述操作的任何想法?这是一个自动化过程,因此不能手动篡改文件。

提前谢谢

2 个答案:

答案 0 :(得分:0)

我希望这会有所帮助:

using (StreamReader sr = new StreamReader(FileName)){
while (!sr.EndOfStream) 
{
    // read every line
    line = sr.ReadLine(); 

    // if line is empty
    if (string.IsNullOrEmpty(line.Trim(' '))) // if you want to handle a line with a space as empty use trim for spaces
    {
        //... do something
    }
}
}

答案 1 :(得分:0)

当我使用Notepad ++保存它时,文件的enconding似乎搞砸了(没有改变文件上的任何内容,只需点击保存)并且Streamreader不喜欢它。我现在可以正确解析它(如果没有意外点击“保存”)我可以使用

处理空行

string.IsNullOrWhiteSpace

谢谢大家的时间。