System.IO.File.ReadAllLines返回零字符串

时间:2014-03-26 06:09:45

标签: c# file.readalllines

美好的一天!

我尝试从文件中获取所有行。

案例:我将一些字符串写入文件(一些WriteClass),然后尝试获取所有行。 通过

var lines=System.IO.File.ReadAllLines(fileName,Encoding.Default);

行数== 0! 我也没有例外。

它可以是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

我也有这个问题。我知道这有点像一个坏人,但最终导致问题的是我的URI格式错误。我把它视为一个字符串,我的解析器在阅读行之前尽职尽责地检查文件是否存在。

右:

XmlCsvReader reader = new XmlCsvReader(new Uri("file:///C:/Users/Z/Documents/test.csv"), doc.NameTable);

错误:

XmlCsvReader reader = new XmlCsvReader(new Uri("C:\\Users\\Z\\Documents\\test.csv"), doc.NameTable);

由于URI永远不会有效,因此'行'永远不会被初始化。我猜你的问题可能就是这种情况。下面的解析器示例。

            if (File.Exists(location.AbsolutePath))
        { //this will never run if the URI is formatted wrong
          //The file will never be found

            lines = File.ReadAllLines(location.AbsolutePath);
            Console.WriteLine(lines);
            index = 0;
            column = 0;
            depth = 0;
            tag = 0;
            rs = ReadState.Initial;
        }