Vb net запись в текстовый файл

Непосредственно для работы с текстовыми файлами в пространстве System.IO предназначены специальные классы StreamReader и StreamWriter .

Чтение из файла и StreamReader

Класс StreamReader позволяет читать из текстового файла весь текст или отдельные строки. Рассмотрим основные его методы:

Метод Close закрывает файл и освобождает поток

Метод Peek возвращает следующий доступный символ, если символов больше нет, то возвращает -1

Метод Read считывает и возвращает следующий символ в численном представлении. Имеет перегруженную версию: Read(array As Char(), index As Integer, count As Integer) , где array — массив, куда считываются символы, index — индекс в массиве array, начиная с которого записываются считываемые символы, и count — максимальное количество считываемых символов

Метод ReadLine считывает одну строку из файла

Метод ReadToEnd считывает из файла весь текст

Считаем текст из файла различными способами:

Как и в случае с классом FileStream здесь используется конструкция Using .

В первом случае мы разом считываем весь текст с помощью метода ReadToEnd() .

Во втором случае в цикле While считываем построчно. Когда объект reader дойдет до конца файла и больше строк не останется, то метод reade.ReadLine() вернет значение Nothing.

В третьем случае считываем в массив четыре символа.

Обратите внимание, что в последних двух случаях в конструкторе StreamReader указывалась кодировка System.Text.Encoding.UTF8 . Если нам известна кодировка файла, то мы можем ее указать при чтении файла. Также через другие свойства мы можем указать другие кодировки. Если кодировка не указана, то по умолчанию при чтении используется UTF8 . Иногда важно указывать кодировку, так как она может отличаться от UTF8, и тогда мы получим некорректный вывод.

Запись в файл и StreamWriter

Для записи в текстовый файл применяется класс StreamWriter . Его основные методы:

Читайте также:  Apple музыка от мтс

Close : закрывает записываемый файл и освобождает все ресурсы

Flush : записывает в файл оставшиеся в буфере данные и очищает буфер.

Write : записывает в файл данные простейших типов, как Integer, Double и т.д.

WriteLine : записывает в файл строку

Посмотрим на использование класса StreamWriter на примере:

Вначале весь текст из файла считывается в переменную text, а затем содержание этой переменной с помощью объекта StreamWriter записывается в другой файл.

Класс StreamWriter имеет несколько конструкторов. Здесь мы использовали два из них: New StreamWriter(writePath, False) . В качестве первого параметра передается путь к записываемому файлу. Второй параметр представляет булевую переменную, которая определяет, будет файл дозаписываться или перезаписываться. Если этот параметр равен True , то новые данные добавляются в конце к уже имеющимся данным. Если False , то предыдущее содержимое стирается, и файл перезаписывается. И если в первом случае файл перезаписывается, то во втором делается дозапись в конец файла.

Третий параметр указывает кодировку, в которой записывается файл.

Для записи в файл есть класс StreamWriter(вобще классов для записи/чтения в .Net много, но этот наверное самый лучший), сейчас сделаем программу, которая будет записывать текст в файл. Код:

А как в записываемый файл вставить enter?

Заработало только вот так:
Imports System
Imports System.IO

Public Class Form1
Inherits System.Windows.Forms.Form

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ‘ При загрузке формы:
Dim f As New StreamWriter("D:Test1.txt", False, System.Text.Encoding.GetEncoding(1251)) ‘ Открываем файл "D:Test1.txt", Если поставить не False а True, то запись будет в конец файла. Т.е. если в файле уже есть текст, то этот текст стераться не будет, а новый будет добавляться в конец. Если файла не существует, то он создаваться не будет. А если же поставить False, то если в файле был текст, то он стерается, и запись идет в пустой файл. Если файла не существует, то он создается. Дальше идет тип кодировки, в нашем случае это стандартная 1251
f.Write("’Программируем на Visual Basic`e’ — лучший учебник!") ‘ Записываем в файл 1.txt текст
f.Close() ‘ Закрываем файл
End Sub
End Class

Читайте также:  Packard bell new90 корпус

вот
"Функция перевода" + vbCrLf + "строки"

а как в файл записать значение переменной.

Автору респект — ".GetEncoding(1251)" никогда бы не догадался. Или не слишком скоро — похоже MSDN даже на русском пишут для англоязычных, примеров использования национальных кодировок днём с огнём не сыщешь 🙂

2Алекс&Riga:
f.WriteLine("text") вам поможет. Хотя vbCrLf тоже сработает. Как и vbNewLine.

2Антон:
Вместо текста указать имя переменной. Возможно предварительно привести значение переменной к строке(CStr или .ToString, если доступно для этого типа данных).

Основные операции с файлами

Как записать в файл все содержимое многострочного текстового поля

Третий параметр указывает на то, разрешается ли дописывать в файл. При значении False файл будет переписан заново.
Четвертый параметр (здесь не указан) — кодировка (например, System.Text.Encoding.Default)
При такой записи этот параметр необязателен, если пишется информация в обычной кодировке.

Здесь третий параметр (не указан) — кодировка, как и в первом случае.
Если нужна дозапись во втором способе:

Кодировку указывать очень даже желательно.

Еще один из способов:

Здорово похож на запись файлов из VB 6.0
Это вовсе не означает, что он хуже остальных.

Как прочитать из файла все строки

Всего 2 параметра — путь к файлу и кодировка. Хоть кодировка в данном случае и не обязательный параметр, боюсь, что без ее указания для
чтения кирилицы в большинстве случаев возникнут проблемы.

Здесь так же все по аналогии

Способ «из шестого» рассматривать не буду, потому, что в нем чтение «разом» не предусмотрено.

Как записать в файл все элементы массива

Как записать в файл все элементы массива.

Пусть у нас имеется одномерный массив Massiv

Если необходимо записать все элементы списка (ListBox) в файл, то предварительно скопируем их в массив, а потом запишем в файл:

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *