Учебники

VB.Net — Обработка файлов

Файл — это набор данных, хранящихся на диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становится потоком .

Поток в основном представляет собой последовательность байтов, проходящих через канал связи. Существует два основных потока: входной поток и выходной поток . Входной поток используется для чтения данных из файла (операция чтения), а выходной поток используется для записи в файл (операция записи).

VB.Net Классы ввода / вывода

Пространство имен System.IO имеет различные классы, которые используются для выполнения различных операций с файлами, таких как создание и удаление файлов, чтение или запись в файл, закрытие файла и т. Д.

В следующей таблице показаны некоторые часто используемые неабстрактные классы в пространстве имен System.IO.

Класс ввода / вывода Описание
BinaryReader Читает примитивные данные из двоичного потока.
BinaryWriter Записывает примитивные данные в двоичном формате.
BufferedStream Временное хранилище для потока байтов.
каталог Помогает в управлении структурой каталогов.
DirectoryInfo Используется для выполнения операций над каталогами.
DriveInfo Предоставляет информацию для дисков.
файл Помогает в манипулировании файлами.
FileInfo Используется для выполнения операций над файлами.
FileStream Используется для чтения и записи в любом месте файла.
MemoryStream Используется для произвольного доступа потоковых данных, хранящихся в памяти.
Дорожка Выполняет операции с информацией о пути.
StreamReader Используется для чтения символов из потока байтов.
StreamWriter Используется для записи символов в поток.
StringReader Используется для чтения из строкового буфера.
StringWriter Используется для записи в строковый буфер.

Класс FileStream

Класс FileStream в пространстве имен System.IO помогает в чтении, записи и закрытии файлов. Этот класс является производным от абстрактного класса Stream.

Вам необходимо создать объект FileStream, чтобы создать новый файл или открыть существующий файл. Синтаксис для создания объекта FileStream следующий:

Dim <object_name> As FileStream = New FileStream(<file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>)

Например, для создания объекта FileStream F для чтения файла с именем sample.txt

Dim f1 As FileStream = New FileStream("sample.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite)

параметр Описание
FileMode

Перечислитель FileMode определяет различные способы открытия файлов. Членами перечислителя FileMode являются:

  • Добавить — открывает существующий файл и помещает курсор в конец файла, либо создает файл, если файл не существует.

  • Создать — создает новый файл.

  • CreateNew — указывает операционной системе, что он должен создать новый файл.

  • Открыть — открывает существующий файл.

  • OpenOrCreate — Он указывает операционной системе, что он должен открыть файл, если он существует, в противном случае он должен создать новый файл.

  • Обрезать — открывает существующий файл и усекает его размер до нуля байтов.

FileAccess

Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write .

Обменник

Перечислители FileShare имеют следующих членов —

  • Inheritable — позволяет дескриптору файла передавать наследование дочерним процессам.

  • Нет — отказывается от обмена текущим файлом

  • Читать — позволяет открыть файл для чтения.

  • ReadWrite — позволяет открыть файл для чтения и записи.

  • Запись — позволяет открыть файл для записи

Перечислитель FileMode определяет различные способы открытия файлов. Членами перечислителя FileMode являются:

Добавить — открывает существующий файл и помещает курсор в конец файла, либо создает файл, если файл не существует.

Создать — создает новый файл.

CreateNew — указывает операционной системе, что он должен создать новый файл.

Открыть — открывает существующий файл.

OpenOrCreate — Он указывает операционной системе, что он должен открыть файл, если он существует, в противном случае он должен создать новый файл.

Обрезать — открывает существующий файл и усекает его размер до нуля байтов.

Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write .

Перечислители FileShare имеют следующих членов —

Inheritable — позволяет дескриптору файла передавать наследование дочерним процессам.

Нет — отказывается от обмена текущим файлом

Читать — позволяет открыть файл для чтения.

ReadWrite — позволяет открыть файл для чтения и записи.

Запись — позволяет открыть файл для записи

пример

Следующая программа демонстрирует использование класса FileStream

Live Demo

Imports System.IO
Module fileProg
   Sub Main()
      Dim f1 As FileStream = New FileStream("sample.txt", _ FileMode.OpenOrCreate, FileAccess.ReadWrite)
      Dim i As Integer
      
      For i = 0 To 20
         f1.WriteByte(CByte(i))
      Next i
      f1.Position = 0
      
      For i = 0 To 20
         Console.Write("{0} ", f1.ReadByte())
      Next i
      f1.Close()
      Console.ReadKey()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

Расширенные операции с файлами в VB.Net

В предыдущем примере представлены простые файловые операции в VB.Net. Однако, чтобы использовать огромные возможности классов System.IO, вам необходимо знать обычно используемые свойства и методы этих классов.

Мы обсудим эти классы и операции, которые они выполняют в следующих разделах. Пожалуйста, нажмите на предоставленные ссылки, чтобы перейти к отдельным разделам —

Чтение и запись в текстовые файлы

Это включает чтение и запись в текстовые файлы. Классы StreamReader и StreamWriter помогают достичь этого.

Чтение и запись в двоичные файлы

Это включает чтение и запись в двоичные файлы. Классы BinaryReader и BinaryWriter помогают достичь этого.

Управление файловой системой Windows

Это дает программисту VB.Net возможность просматривать и находить файлы и каталоги Windows.