С# — файловый ввод-вывод
файл представляет собой набор данных, хранящихся на диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становится потоком. .
Поток — это в основном последовательность байтов, проходящих через канал связи. Существует два основных потока:входной поток и выходной поток . входной поток используется для чтения данных из файла (операция чтения) и выходного потока используется для записи в файл (операция записи).
Классы ввода/вывода C#
В пространстве имен System.IO есть различные классы, которые используются для выполнения многочисленных операций с файлами, таких как создание и удаление файлов, чтение или запись в файл, закрытие файла и т. д.
В следующей таблице показаны некоторые часто используемые неабстрактные классы в пространстве имен System.IO —
Серийный номер | Класс ввода-вывода и описание |
---|---|
1 | <тд>|
2 | <тд>|
3 | <тд>|
4 | <тд>|
5 | <тд>|
6 | <тд>|
7 | <тд>|
8 | <тд>|
9 | <тд>|
10 | <тд>|
11 | <тд>|
12 | <тд>|
13 | <тд>|
14 | <тд>|
15 | <тд>
Класс FileStream
Файловый поток class в пространстве имен System.IO помогает при чтении, записи и закрытии файлов. Этот класс является производным от абстрактного класса Stream.
Вам нужно создать FileStream объект для создания нового файла или открытия существующего файла. Синтаксис для создания FileStream объект выглядит следующим образом —
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Например, мы создаем объект FileStream F для чтения файла с именем sample.txt, как показано −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Серийный номер | Параметр и описание |
---|---|
1 | <тд>|
2 | <тд>|
3 | <тд>
Пример
Следующая программа демонстрирует использование 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, необходимо знать часто используемые свойства и методы этих классов.
Серийный номер | Тема и описание |
---|---|
1 | Чтение и запись в текстовые файлы Он включает в себя чтение и запись в текстовые файлы. StreamReader и StreamWriter класс помогает это сделать. |
2 | Чтение и запись в двоичные файлы Он включает в себя чтение и запись в двоичные файлы. BinaryReader и BinaryWriter класс помогает это сделать. |
3 | Управление файловой системой Windows Это дает программисту C# возможность просматривать и находить файлы и каталоги Windows. |
Язык C