C # - Файловый ввод-вывод
А fileпредставляет собой набор данных, хранящихся на диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становитсяstream.
Поток - это в основном последовательность байтов, проходящих через канал связи. Есть два основных потока:input stream и output stream. В input stream используется для чтения данных из файла (операция чтения) и output stream используется для записи в файл (операция записи).
Классы ввода-вывода C #
В пространстве имен System.IO есть различные классы, которые используются для выполнения многочисленных операций с файлами, таких как создание и удаление файлов, чтение или запись в файл, закрытие файла и т. Д.
В следующей таблице показаны некоторые часто используемые неабстрактные классы в пространстве имен System.IO.
Sr. No. | Класс ввода / вывода и описание |
---|---|
1 | BinaryReader Читает примитивные данные из двоичного потока. |
2 | BinaryWriter Записывает примитивные данные в двоичном формате. |
3 | BufferedStream Временное хранилище для потока байтов. |
4 | Directory Помогает управлять структурой каталогов. |
5 | DirectoryInfo Используется для выполнения операций с каталогами. |
6 | DriveInfo Предоставляет информацию о дисках. |
7 | File Помогает в манипулировании файлами. |
8 | FileInfo Используется для выполнения операций с файлами. |
9 | FileStream Используется для чтения и записи в любое место в файле. |
10 | MemoryStream Используется для произвольного доступа к потоковым данным, хранящимся в памяти. |
11 | Path Выполняет операции с информацией о пути. |
12 | StreamReader Используется для чтения символов из байтового потока. |
13 | StreamWriter Используется для записи символов в поток. |
14 | StringReader Используется для чтения из строкового буфера. |
15 | StringWriter Используется для записи в строковый буфер. |
Класс FileStream
В FileStreamКласс в пространстве имен System.IO помогает при чтении, записи и закрытии файлов. Этот класс является производным от абстрактного класса Stream.
Вам нужно создать FileStreamобъект, чтобы создать новый файл или открыть существующий файл. Синтаксис для созданияFileStream объект выглядит следующим образом -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
Например, мы создаем объект FileStream F для чтения файла с именем sample.txt as shown -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr. No. | Параметр и описание |
---|---|
1 | FileMode В FileModeenumerator определяет различные методы открытия файлов. Члены перечислителя FileMode:
|
2 | FileAccess FileAccess у счетчиков есть члены: Read, ReadWrite а также Write. |
3 | FileShare FileShare у счетчиков есть следующие члены -
|
пример
Следующая программа демонстрирует использование FileStream класс -
using System;
using System.IO;
namespace FileIOApplication {
class Program {
static void Main(string[] args) {
FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++) {
F.WriteByte((byte)i);
}
F.Position = 0;
for (int i = 0; i <= 20; i++) {
Console.Write(F.ReadByte() + " ");
}
F.Close();
Console.ReadKey();
}
}
}
Когда приведенный выше код компилируется и выполняется, он дает следующий результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Расширенные файловые операции в C #
В предыдущем примере представлены простые файловые операции на C #. Однако, чтобы использовать огромные возможности классов C # System.IO, вам необходимо знать обычно используемые свойства и методы этих классов.
Sr. No. | Тема и описание |
---|---|
1 | Чтение и запись в текстовые файлы
Он включает в себя чтение и запись в текстовые файлы. ВStreamReader а также StreamWriter класс помогает в этом. |
2 | Чтение и запись в двоичные файлы
Он включает чтение из двоичных файлов и запись в них. ВBinaryReader а также BinaryWriter class помогает в этом. |
3 | Управление файловой системой Windows
Это дает программисту на C # возможность просматривать и находить файлы и каталоги Windows. |