代码之家  ›  专栏  ›  技术社区  ›  user770022

附加到文本文件

c#
  •  1
  • user770022  · 技术社区  · 15 年前

    我想为我的文本文件得到创建不断被添加到。从现在起,它每一次都被重新创造。这是不好的,因为我想创建一个逗号分隔的文本文件和存储的输入。

    private void button1_Click(object sender, EventArgs e)
        {
            writetext();
            reset();
    
    
        }
        public void writetext()
        {
            using (TextWriter writer = File.CreateText("filename.txt"))  
            {
                writer.WriteLine("First name, {0} Lastname, {1} Phone,{2} Day of birth,{3}", textBox1.Text, textBox2.Text, maskedTextBox1.Text, textBox4.Text);
    
    
            }
    
        }
        public void reset()
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
        }
    
    4 回复  |  直到 7 年前
        1
  •  5
  •   Pang Ajmal PraveeN    7 年前

    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
  •  2
  •   Donald    15 年前

    您应该调用file.appendText,而不是调用file.createText。但是,您应该首先使用file.exists检查文件是否存在。

    if (File.Exists(path))
        writer = File.AppendText(path);
    else
        writer = File.CreateText(path);
    
        3
  •  0
  •   McKay    15 年前

    有一个

    File.AppendText()
    

    方法。

        4
  •  0
  •   AlignedDev    11 年前

    您还可以拥有:

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

    这将节省你使用编剧altoghether和处理所有幕后事务。