Файл представляет собой набор данных , хранящиеся в диске с определенным именем и путем к каталогу. Когда файл открывается для чтения или записи, он становится потоком .
Поток - это в основном последовательность байтов, проходящих через канал связи. Существует два основных потока: входной поток и выходной поток . Входной поток используется для считывания данных из файла (операция чтения) и выходного потока используются для записи в файл (операция записи).
Классы ввода и вывода C #
Пространство имен System.IO имеет различные классы, которые используются для выполнения многочисленных операций с файлами, таких как создание и удаление файлов, чтение или запись в файл, закрытие файла и т. д.
В следующей таблице приведены некоторые часто используемые не абстрактные классы в пространстве имен System.IO:
BinaryReader
Читает примитивные данные из двоичного потока.
BinaryWriter
Записывает примитивные данные в двоичном формате.
BufferedStream
Временное хранилище для потока байтов.
Directory
Помогает в управлении структурой каталогов.
DirectoryInfo
Используется для выполнения операций с каталогами.
DriveInfo
Предоставляет информацию для дисков.
File
Помогает манипулировать файлами.
FileInfo
Используется для выполнения операций с файлами.
FileStream
Используется для чтения и записи в любое место в файле.
MemoryStream
Используется для произвольного доступа к потоковым данным, хранящимся в памяти.
Path
Выполняет операции над информацией о пути.
StreamReader
Используется для чтения символов из потока байтов.
StreamWriter
Используется для записи символов в поток.
StringReader
Используется для чтения из строкового буфера.
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, как показано -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
FileMode
FileMode Перечислитель определяет различные методы для открытия файлов. Элементами перечисления FileMode являются:
- Append - открывает существующий файл и помещает курсор в конец файла или создает файл, если файл не существует.
- Create - создает новый файл.
- CreateNew - указывает операционной системе, что он должен создать новый файл.
- Открыть - открывает существующий файл.
- OpenOrCreate - указывает операционной системе, что он должен открыть файл, если он существует, иначе он должен создать новый файл.
- Truncate - открывает существующий файл и обрезает его размер до нуля байтов.
FileAccess
У перечислений FileAccess есть члены: Read , ReadWrite и Write .
FileShare
У перечислений FileShare есть следующие члены:
- Inheritable - позволяет дескриптору файла передавать наследование дочерним процессам
- None. Он отклоняет общий доступ к текущему файлу.
- Read - позволяет открыть файл для чтения.
- ReadWrite - позволяет открывать файл для чтения и записи
- Write - позволяет открыть файл для записи
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, вам необходимо знать широко используемые свойства и методы этих классов.
Чтение и запись в текстовые файлы
Это включает в себя чтение и запись в текстовые файлы. Класс StreamReader и StreamWriter помогает выполнить его.
Чтение и запись в двоичные файлы
Он включает чтение и запись в двоичные файлы. Класс BinaryReader и BinaryWriter помогает выполнить это.
Управление файловой системой Windows
Он дает программисту C # возможность просматривать и находить файлы и каталоги Windows.
0 комментариев