【问题标题】:Append to text file附加到文本文件
【发布时间】:2010-11-09 22:33:14
【问题描述】:

我希望不断添加我创建的文本文件。截至目前,它每次都重新创建。这不好,因为我想用存储的输入创建一个逗号分隔的文本文件。

private void button1_Click(object sender, EventArgs e)
{
    WriteText();
    Reset();
}
public void WriteText()
{
    using (var writer = File.CreateText("filename.txt"))  
    {
        writer.WriteLine($"First name: {textBox1.Text} Lastname: {textBox2.Text} Phone: {textBox3.Text} Day of birth: {textBox4.Text}");
    }
}
public void Reset() => textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = "";

【问题讨论】:

  • 你应该阅读你得到的答案。
  • 您应该阅读我提出的问题。我已经创建了文本文件,但现在它每次都被重写。我希望将信息添加到文本文件中。
  • 并且 AppendText 已经在上一个答案中提出。

标签: c#


【解决方案1】:

这很容易。试试这个:

public void writetext()
{
    using (TextWriter writer = new StreamWriter("filename.txt", true))  // true is for append mode
    {
        writer.WriteLine("First name, {0} Lastname, {1} Phone,{2} Day of birth,{3}", textBox1.Text, textBox2.Text, maskedTextBox1.Text, textBox4.Text);
    }
}

【讨论】:

    【解决方案2】:

    您应该调用 File.AppendText,而不是调用 File.CreateText。但是,您应该首先使用 File.Exists 检查文件是否存在

    这是一些伪代码:

    if (File.Exists(path))
        writer = File.AppendText(path);
    else
        writer = File.CreateText(path);
    

    【讨论】:

      【解决方案3】:

      有一个

      File.AppendText()
      

      方法。

      【讨论】:

        【解决方案4】:

        您还可以:

        File.AppendAllLines("filename.txt", new string[] { 
            string.Format("First name, {0} Lastname, {1} Phone,{2} Day of birth,{3}", 
               textBox1.Text, textBox2.Text, maskedTextBox1.Text, textBox4.Text) 
        });
        

        这将节省您使用 Writer 并在幕后处理所有事情。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-30
          • 1970-01-01
          相关资源
          最近更新 更多