C # File.ReadAllLines не прерывается на перевод строки - PullRequest
4 голосов
/ 06 мая 2010

У меня есть приложение, которое я создаю и которое нуждается в изменении файла конфигурации.

Моя проблема в том, что я не могу прочитать файл построчно. Я сохраняю весь файл как одну строку.

string ConfigTemplate = AEBuildsSPFolderName + "\\Template_BuildReleaseScript.Config";

string[] fileSourceLines = File.ReadAllLines(ConfigTemplate, Encoding.Default);
//Returns the entire file contents into the first array element.

using (StreamReader reader = new StreamReader(ConfigTemplate))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
//Returns the entire file contents into the first line read.

Есть идеи, что я делаю не так?

Спасибо

1010 * Дэвид *

Ответы [ 2 ]

4 голосов
/ 06 мая 2010

Я предполагаю, что используемый символ разрыва строки может не быть \r\n

Когда вы читаете весь файл в одну строку, попробуйте вызвать yourString.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); и посмотреть, подходит ли вам это.

Кроме того, поскольку ReadAllLines() все равно считывает одну строку, вы можете просто использовать ReadAllText().

0 голосов
/ 06 мая 2010

Ваш файл, вероятно, использует \n символов (без \r) в качестве перевода строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...