Дозапись в текстовый файл
Задача 3: Если вы при записи не хотите стирать содержимое файла, а просто хотите дописать что-нибудь в его конец, то вам нужно для создания объекта StreamWriter использовать вариант конструктора с двумя параметрами:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'Создаем объект для дозаписи информации в текстовый файл E:\VB\Filimon.txt:
Dim Дозапись As New System.IO.StreamWriter("E:\VB\Filimon.txt", True)
'Дописываем в файл 2 строки:
Дозапись.WriteLine("Европа")
Дозапись.WriteLine(999)
Дозапись.Close() 'Закрываем файл
End Sub
Пояснения: Второй параметр в этом варианте конструктора отвечает за режим дозаписи (Append). True означает, что дозапись включена, False – что выключена, а значит запись будет вестись сначала, стирая все, что было записано в файле раньше.
Запустите проект, щелкните пару раз по кнопке Button3. Вот что вы увидите в файле:
Азия
5,27
29.03.2005 21:30:00
12
Европа
999
Европа
999
Read и Write. Вы можете в одну строку файла записать не одно данное, а несколько, используя вместо метода WriteLine метод Write. Разница здесь та же самая, что и между методами Debug.WriteLine и Debug.Write. Вот как будет выглядеть файл Filimon.txt, если при решении задачи 1 мы будем использовать вместо метода WriteLine метод Write:
Азия5,2729.03.2005 21:30:0012
Не очень понятно, где кончается одно данное и начинается другое. Не думайте, также, что так вы много выиграете в объеме файла.
Считывать получившуюся невнятную строку можно по-разному. Можно использовать привычный ReadLine, чтобы присвоить эту цепочку символов одной строковой переменной, а затем разбивать ее на части методами класса String. Можно использовать метод Read, который читает строку по кусочкам из заданного числа символов. Если вы заранее знаете, сколько символов в строке занимает запись каждого данного, то это вполне приемлемо. Мы не будем на этом останавливаться.