Файл — это набор данных, хранящихся на диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становится потоком .
Поток в основном представляет собой последовательность байтов, проходящих через канал связи. Существует два основных потока: входной поток и выходной поток . Входной поток используется для чтения данных из файла (операция чтения), а выходной поток используется для записи в файл (операция записи).
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 являются:
|
FileAccess |
Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write . |
Обменник |
Перечислители FileShare имеют следующих членов —
|
Перечислитель FileMode определяет различные способы открытия файлов. Членами перечислителя FileMode являются:
Добавить — открывает существующий файл и помещает курсор в конец файла, либо создает файл, если файл не существует.
Создать — создает новый файл.
CreateNew — указывает операционной системе, что он должен создать новый файл.
Открыть — открывает существующий файл.
OpenOrCreate — Он указывает операционной системе, что он должен открыть файл, если он существует, в противном случае он должен создать новый файл.
Обрезать — открывает существующий файл и усекает его размер до нуля байтов.
Перечислители FileAccess имеют следующие члены: Read , ReadWrite и Write .
Перечислители FileShare имеют следующих членов —
Inheritable — позволяет дескриптору файла передавать наследование дочерним процессам.
Нет — отказывается от обмена текущим файлом
Читать — позволяет открыть файл для чтения.
ReadWrite — позволяет открыть файл для чтения и записи.
Запись — позволяет открыть файл для записи
пример
Следующая программа демонстрирует использование класса FileStream —
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.