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;
        }
Другие вопросы по тегам