2013-11-03 72 views
-1

在Form1我做的頂部:我如何保持重寫文本文件添加文本?

StreamWriter w; 

在構造函數中我做:

w = new StreamWriter(@"d:\test.txt"); 

現在我有一個複選框,使一個按鈕:在Button1的

if (checkBox2.Checked) 
      { 
       if (marklightnings == true) 
       { 
        myTrackPanelss1.panel1.Enabled = true; 
        myTrackPanelss1.panel1.Visible = true; 
        button1.Enabled = true; 
       } 
      } 

現在點擊我寫入文本文件的事件:

private void button1_Click_1(object sender, EventArgs e) 
     { 
      w.WriteLine("test"); 
      w.Close(); 
     } 

我想要做的是,每次我選中複選框,它都會打開文本文件進行寫入,但不會創建新的文本文件,而是使用相同的存在文本文件,並只爲其添加文本。

它不是一個設置文件,但它是一個文本文件,我以後需要從中讀取文本。

我需要的是,當button1被啓用時,我將能夠點擊它螞蟻它會將文本添加到文本文件每次點擊。 所以我做了w.Close(); 但是,它不能被添加更多的文字來寫。如果我將爲w創建新實例,它將創建新的空文本文件。

回答

1

嘗試:

w = new StreamWriter(@"d:\test.txt", true); 

或者

private void button1_Click_1(object sender, EventArgs e) 
{ 
    using (StreamWriter w = File.AppendText(@"d:\test.txt")) 
    { 
     w.WriteLine("test"); 
    } 
} 
+0

或'File.AppendAllText'。請注意,您不需要在第二個代碼段中調用Close,'using'語句將爲您處理作者。 –

+0

@JonSkeet你完全正確,謝謝:) – etaiso