Дамп текста в файл с переносами строк - PullRequest
1 голос
/ 30 ноября 2011
private void btnDump_Click(object sender, EventArgs e)
{
    using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt"))
    {
        // Add some text to the file.
        sw.WriteLine(txtChange.Text);
    }
}

Это выводит текст txtChange в текстовый файл. txtChange - это текстовое поле Rich и содержит разрывы строк (новые строки).

Когда пользователь нажимает кнопку «Дамп», весь текст выгружается, но не в новых строках.

например. txtChange выглядит как

1
2
3
4

вывод текста выглядит как 1234

Как мне отформатировать дамп текста, чтобы текст был в новых строках?

Ответы [ 5 ]

10 голосов
/ 30 ноября 2011

Вместо этого следует использовать свойство Lines:

File.WriteAllLines(@"E:\TestFile.txt", txtChange.Lines);

Вам на самом деле не нужно использовать поток, поскольку класс File содержит эти статические удобные методы - short и to the point.

Выше заменит любой существующий контент текстовыми строками, содержащимися в вашем текстовом поле txtChange. Если вы хотите добавить содержимое, используйте вместо этого соответствующее имя File.AppendAllLines().

4 голосов
/ 30 ноября 2011

просто добавьте символ новой строки:

private void btnDump_Click(object sender, EventArgs e)
{
    using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt"))
    {
        // Add some text to the file.
        sw.WriteLine(txtChange.Text + "\r\n");
    }
}
1 голос
/ 30 ноября 2011

Если он содержит \ r, как вы упомянули, попробуйте это

using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt"))
{
    // Add some text to the file.
    sw.WriteLine(txtChange.Text.Replace("\r", "\r\n");
}
0 голосов
/ 30 ноября 2011

Взгляните на Замените разрывы строк в строке C # и замените все разрывы строк, чтобы они соответствовали стандарту Windows.

взгляните на http://en.wikipedia.org/wiki/Newline#Representations для определения linbreak.

0 голосов
/ 30 ноября 2011

Вы также можете сделать:

private void btnDump_Click(object sender, EventArgs e)
 {
     using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt"))
     {
         // Add some text to the file.
         sw.WriteLine(txtChange.Text + Environment.NewLine);
     }
 } 
...