Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
79
Добавлен:
12.02.2015
Размер:
714.75 Кб
Скачать

Работа с файлами 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

Соседние файлы в папке Инструментальные средства