Как добавить текст с помощью streamwriter в текстовый файл?
Я создаю свое первое приложение (используя .vb), которое представляет собой приложение для календарных встреч. Я создал его таким образом - у меня есть три текстовых поля, по одному для даты, времени и местоположения. Текстовые записи из текстовых полей отправляются в поле списка. В списке у меня есть кнопка Сохранить, чтобы сохранить записи как встречу в текстовом файле в папке. У меня есть кнопка Показать встречи, чтобы загрузить текстовый файл. Моя проблема заключается в том, что когда я создаю новую встречу, предыдущая запись в текстовом файле перезаписывается, поэтому мне нужно добавить новые записи в поле списка в текстовый файл, сохраняющий встречи.
Что я уже пробовал:
Это код для кнопки Сохранить.
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click IO.Directory.CreateDirectory("C:\Test") Dim w As New IO.StreamWriter("C:\Test\01.txt") Dim i As Integer For i = 0 To ListBox1.Items.Count - 1 w.WriteLine(ListBox1.Items.Item(i)) Next w.Close() End Sub
Это весь код приложения.
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text) ListBox1.Items.Add(TextBox2.Text) ListBox1.Items.Add(TextBox3.Text) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ListBox1.Items.RemoveAt(ListBox1.SelectedIndex()) End Sub Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged, ListBox1.Click End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click IO.Directory.CreateDirectory("C:\Test") Dim w As New IO.StreamWriter("C:\Test\01.txt") Dim i As Integer For i = 0 To ListBox1.Items.Count - 1 w.WriteLine(ListBox1.Items.Item(i)) Next w.Close() End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim r As IO.StreamReader r = New IO.StreamReader("C: \Test\01.txt") While (r.Peek() > -1) ListBox1.Items.Add(r.ReadLine) End While r.Close() End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Me.TextBox1.Text = Me.DateTimePicker1.Text End Sub End Class
KarstenK
Это не очень хорошая идея, чтобы использовать каталог на C: напрямую. Получите какой-нибудь пользовательский каталог для этого использования.
Совет: используйте лучшие имена переменных для повышения качества кода. ;-)