我正在尝试按下一个按钮,该按钮将textbox4和textbox5中的文本写入文本文件。但是,当我再次按下它以向文本文件添加新信息时,它只是将新文本替换为新文本。每次按下按钮时,如何让它在第一行下面写另一行?
这是我到目前为止的代码
private void button5_Click(object sender, EventArgs e)
{
try
{
xuidspath = @"c:\xuids.txt";
ListViewItem lvi = new ListViewItem();
lvi.Text = textBox4.Text;
lvi.SubItems.Add(textBox5.Text);
listXuid.Items.Add(lvi);
TextWriter xuids = new StreamWriter(xuidspath);
xuids.WriteLine(textBox4.Text + "-" + textBox5.Text);
textBox5.Clear();
textBox4.Clear();
xuids.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
有什么想法吗?
答案 0 :(得分:3)
只需使用StringBuilder类和File.WriteXXX方法。
StringBuilder sb = new StringBuilder();
sb.AppendLine(textBox.Text + " " + textbox2.Text);
File.WriteAllText("c:\xuids.txt",sb.ToString();
答案 1 :(得分:3)
打开要追加的文件。
FileStream xuids = new FileStream(xuidspath, FileMode.Append);
答案 2 :(得分:0)
使用重载:
public StreamWriter(string path, bool append);
即
TextWriter xuids = new StreamWriter(xuidspath,true);
答案 3 :(得分:0)
变化:
TextWriter xuids = new StreamWriter(xuidspath);
要:
TextWriter xuids = new StreamWriter(xuidspath, true);
第二个参数是追加。来自MSDN(http://msdn.microsoft.com/en-us/library/36b035cb.aspx):
确定是否将数据附加到文件。如果是文件 exists和append为false,文件被覆盖。如果是文件 exists和append为true,数据将附加到文件中。 否则,将创建一个新文件。
答案 4 :(得分:-1)
RichTextBox rch = new RichTextBox();
rch.Text = cmn;
foreach (string l in rch.Lines)
strw.WriteLine(l);