2011-11-30 74 views
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); 
    } 
} 

這會將txtChange的文本轉儲爲文本文件。 txtChange是一個富文本框,並在其中包含換行符(換行符)。將文本轉儲到帶有換行符的文件

當用戶單擊轉儲按鈕時,所有文本都被轉儲,但不在新行中。

例如txtChange看起來像

1 
2 
3 
4 

傾銷文字看起來像1234

我如何格式化文本的傾倒,使文字在新的生產線?簡短而中肯 - 因爲File類包含這些靜態便捷方法

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

你並不真的需要使用流:

回答

10

您應該使用Lines屬性。

以上將用您的文本框txtChange中包含的文本行替換任何現有的內容。如果您想要附加內容,請改用適當名稱的File.AppendAllLines()

+1

乾脆,寫也應該工作。 – hungryMind

+0

@hungryMind:這聽起來也符合邏輯,但是在反射器中查看'WriteLine'我並不認爲它正在進行任何摺疊。 – Sorpigal

+0

@BrokenGlass這工作正常,我剛剛嘗試添加另一個文本框的內容,但這覆蓋從txtChange採取的文本,你知道命令添加文本('複製'在新行以及)? – Dan1676

3

只需添加一個新行字符:

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

這隻會在最後添加一個換行符 – BrokenGlass

1

如果它包含\ r是如你所說,你應該試試這個

using (StreamWriter sw = new StreamWriter("E:\\TestFile.txt")) 
{ 
    // Add some text to the file. 
    sw.WriteLine(txtChange.Text.Replace("\r", "\r\n"); 
} 
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); 
    } 
} 
相關問題