System.IO.File.ReadAllLines возвращает ноль строк
Добрый день!
Я пытаюсь получить все строки из файла.
Случай: я записываю несколько строк в файл (некоторый WriteClass) и затем пытаюсь получить все строки из него. с помощью
var lines=System.IO.File.ReadAllLines(fileName,Encoding.Default);
Количество битов строк ==0! И у меня нет никаких исключений.
Что это может быть?
Спасибо!
1 ответ
У меня тоже была эта проблема. Я знаю, что это что-то вроде некробампа, но в конечном итоге проблема была в том, что мой 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;
}