Filestream C: удобное хранение и обработка файлов
FileStream является классом в языке программирования C#, который предоставляет возможность работы с файлами в бинарном режиме, позволяя читать и записывать данные из и в файлы.
Использование FileStream начинается с создания объекта FileStream, который принимает два параметра: путь к файлу и режим доступа к файлу.
Пример создания объекта FileStream, который открывает файл для чтения:
FileStream stream = new FileStream("example.txt", FileMode.Open, FileAccess.Read);
Здесь мы создали объект stream, который открывает файл example.txt в режиме чтения FileAccess.Read.
Чтение из файла можно производить с помощью метода Read, который принимает массив, куда будут записаны считанные данные, и предоставляет количество байтов, которые были прочитаны.
Пример чтения данных из файла:
C#
FileStream stream = new FileStream("example.txt", FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
Console.WriteLine($"Read {bytesRead} bytes from the file");
}
Здесь мы создали буфер buffer размером 1024 байтов и заполняем его данными из файла методом Read до тех пор, пока в файле есть данные.
Запись в файл производится с помощью метода Write, который принимает массив байтов, представляющих данные, которые необходимо записать в файл.
Пример записи данных в файл:
C#
FileStream stream = new FileStream("example.txt", FileMode.Create, FileAccess.Write);
byte[] buffer = new byte[] { 0x41, 0x42, 0x43 };
stream.Write(buffer, 0, buffer.Length);
stream.Close();
Здесь мы создали объект stream, который открывает файл example.txt в режиме записи FileAccess.Write, записываем три байта (0x41, 0x42, 0x43) методом Write и закрываем файл методом Close.
Также можно использовать FileStream для работы с другими типами файлов, например, изображениями.
Пример чтения изображения из файла:
C#
FileStream stream = new FileStream("image.jpg", FileMode.Open, FileAccess.Read);
Image image = Image.FromStream(stream);
stream.Close();
Здесь мы создали объект stream, который открывает файл image.jpg в режиме чтения FileAccess.Read, загружаем изображение методом FromStream класса Image и закрываем файл методом Close.