- •Обзор
- •Цели
- •Пространство имен IO и его классы
- •Классы BinaryReader и BinaryWriter
- •Класс BinaryReader
- •Класс BinaryWriter
- •Класс Stream
- •Класс MemoryStream
- •BufferedStream Class
- •Класс BufferedStream - пример
- •Класс FileStream
- •Конструкторы класса FileStream
- •Признаки состояний
- •Класс FileStream. Пример
- •Класс NetworkStream
- •Класс CryptoStream
- •Классы Directory и File
- •Методы класса File
- •Классы Directory и File. Пример
- •Класс FileSystemInfo
- •Свойства и методы класса DirectoryInfo
- •Свойства и методы класса FileInfo
- •Класс TextReader
- •Методы класса StreamReader
- •Продолжение
- •Класс StreamReader. Пример
- •Класс TextWriter
- •Класс StreamWriter. Пример
- •Резюме
Работа с файлами C#
Обзор
Глава 8 – Расширенные концепции C# - II
Свойства предоставляют возможность защиты полей класса, обеспечивая их чтение и запись с помощью функций доступа.
Индексатор позволяет индексировать объект тем же способом, что и массив.
Делегат содержит ссылку на метод, а не имя метода.
Для использования делегатов необходимо:
Определить делегат
Присвоить значение делегату
Использовать делегат
События в C# позволяют объекту оповещать другие объекты
особытии (произошедшем изменении).
Для обработки событий в C# необходимо:
Определить событие
Подписать объекты на это событие
Оповестить подписчиков об возникновении этого события
Цели
Объяснить назначение различных классов из пространства имен System.IO
Описать различные виды обработки потоков в языке C#
Перечислить различные методы и свойства , используемые для файлового ввода/вывода
Научится работать с файлами и выполнять обработку прочих входных/выходных потоков в языке C#
Пространство имен IO и его классы
Пространство имен IO содержит классы, которые обеспечивают чтение из потоков и файлов и запись в потоки и файлы
Некоторые классы из пространства |
|
имен IO: |
TextWriter |
BinaryReader |
|
BinaryWriter |
Directory |
Stream |
File |
TextReader |
FileSystemInf |
|
o |
Классы BinaryReader и BinaryWriter
Являются производными от класса System.Object
Используются для работы с данными в бинарном(двоичном) формате
Данные могут быть считаны и записаны из любой переменной C# в данный поток
Класс BinaryReader
Используется для чтения бинарных файлов
Поддерживаемые методы:
Методы |
Описание |
|
|
Close() |
Этот метод используется для закрытия текущего потока, из которого |
|
читаются данные. Текущий BinaryReader также закрывается. |
|
|
Read() |
Используется для чтения символов из заданного потока. Также |
|
передвигает текущей указатель потока к следующему символу |
|
|
ReadDecimal() |
Считывает десятичное значение из потока. Перемещает указатель |
|
текущей позиции на шестнадцать байтов (размер десятичного числа |
|
по умолчанию) |
|
|
ReadByte() |
Считывает значение байта из заданного потока. Указатель текущей |
|
позиции в потоке перемещается на один байт вперед |
|
|
Класс BinaryWriter
Используется для записи данных в бинарном формате из переменных в поток
Наиболее используемые методы этого класса Close() и Write()
Метод Close() работает аналогично методу Close() класса BinaryReader
Используется для закрытия текущего потока в который были записаны бинарные данные. Также закрывает текущий BinaryWriter.
Класс Stream
Абстрактный класс, является базовым классом для прочих производных классов
Некоторые из производных классов:
MemoryStream
BufferedStream
FileStream
NetworkStream
CryptoStream
Класс MemoryStream
Используется для чтения из памяти и записи данных в память
Некоторые методы класса MemoryStream:Методы
Read()
ReadByte()
Write()
WriteByte()
WriteTo()
BufferedStream Class
Используется для для чтения из буфера и записи в буфер
Имеет два перегружаемых конструктора
Синтаксис:
Класс BufferedStream - пример
OUTPUT