C # как написать несколько строк в текстовом файле? - PullRequest
1 голос
/ 11 февраля 2012

Я пытаюсь нажать кнопку, которая берет текст из 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);
        }
    }

Есть идеи?

Ответы [ 5 ]

3 голосов
/ 11 февраля 2012

Открыть файл для добавления.

FileStream xuids = new FileStream(xuidspath, FileMode.Append);
3 голосов
/ 11 февраля 2012

просто используйте класс StringBuilder и методы File.WriteXXX.

StringBuilder sb = new StringBuilder();
sb.AppendLine(textBox.Text + " " + textbox2.Text);

File.WriteAllText("c:\xuids.txt",sb.ToString();
0 голосов
/ 06 февраля 2015
RichTextBox rch = new RichTextBox();
rch.Text = cmn;
foreach (string l in rch.Lines)
    strw.WriteLine(l);
0 голосов
/ 11 февраля 2012

Изменение:

TextWriter xuids = new StreamWriter(xuidspath);

Кому:

TextWriter xuids = new StreamWriter(xuidspath, true);

Второй параметр - добавление. Из MSDN (http://msdn.microsoft.com/en-us/library/36b035cb.aspx):

Определяет, должны ли данные добавляться в файл. Если файл существует и append false, файл перезаписан. Если файл существует и append is true, данные добавляются в файл. В противном случае создается новый файл.

0 голосов
/ 11 февраля 2012

Использовать перегрузку:

public StreamWriter(string path, bool append);

т.е.

TextWriter xuids = new StreamWriter(xuidspath,true);
...