使用换行符将文本转储到文件

时间:2011-11-30 13:53:39

标签: c# file-io textbox line dump

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是一个富文本框,其中包含换行符(换行符)。

当用户点击转储按钮时,所有文本都被转储,但不在新行上。

E.g。 txtChange看起来像

1
2
3
4

转储文字看起来像1234

如何格式化文本转储以使文本在新行上?

5 个答案:

答案 0 :(得分:10)

您应该使用Lines属性:

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

您实际上不需要使用流,因为File类包含这些静态便捷方法 - 简短而重要。

上方会使用文本框txtChange中包含的文字行替换所有现有内容。如果您想要追加内容,请使用相应名称为File.AppendAllLines()的内容。

答案 1 :(得分:4)

只需添加换行符:

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");
    }
}

答案 2 :(得分:1)

如果它包含你提到的\ r,你应该试试这个

using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt"))
{
    // Add some text to the file.
    sw.WriteLine(txtChange.Text.Replace("\r", "\r\n");
}

答案 3 :(得分:0)

你也可以这样做:

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);
     }
 } 

答案 4 :(得分:0)

查看Replace Line Breaks in a String C#并替换所有换行符,使其与Windows Standard匹配。

查看http://en.wikipedia.org/wiki/Newline#Representations换行符定义。