Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WindowsForms Лр-3.docx
Скачиваний:
4
Добавлен:
16.08.2019
Размер:
60.01 Кб
Скачать

Работа с файлами

Для работы с текстовыми файлами в языке C# можно использовать стандартные классы для работы с потоками ввода/вывода. Которые находятся в пространстве имен System.IO.

Чтение из файла

Класс StreamReader разработан для ввода символов в определенной кодировке, тогда как класс Stream разработан для ввода и вывода байтов. StreamReader служит для чтения строк данных из стандартного текстового файла.

StreamReader по умолчанию принимает значения кодировки UTF-8, а не значения кодовой страницы ANSI для текущей системы (если не указано иное значение). UTF-8 правильно обрабатывает символы Юникода и предоставляет согласованные результаты в локализованных версиях операционной системы.

Для того что бы использовать класс StreamReader необходимо объявить объект данного класса.

StreamReader sr = new StreamReader("TestFile.txt", Encoding.Default)

При инициализации объекта класса StreamReader можно использовать конструктор с одним параметром и конструктор с двумя параметрами. В качестве первого параметра указывается имя файла с которого будут считаны данные, в качестве второго – кодировку для отображения данных. Методы класса StreamReader представлены в таблице 1

Таблица 1

Имя

Описание

Close

Закрывает объект StreamReader и основной поток и освобождает все системные ресурсы, связанные с устройством чтения. (Переопределяет TextReader..::.Close()()().)

CreateObjRef

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject.)

DiscardBufferedData

Позволяет объекту StreamReader удалять текущие данные.

Dispose

Перегружен.

Equals

Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)

Finalize

Позволяет объекту Object попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект Object будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)

GetHashCode

Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)

GetLifetimeService

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

GetType

Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)

InitializeLifetimeService

Возвращает объект обслуживания во время существования для управления политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

MemberwiseClone

Перегружен.

Peek

Возвращает следующий доступный символ, но не использует его. (Переопределяет TextReader..::.Peek()()().)

Read

Перегружен. Считывает следующий символ или следующий набор символов из входного потока.

ReadBlock

Выполняет чтение максимального количества символов count из текущего потока и записывает данные в буфер buffer, начиная с index. (Унаследовано от TextReader.)

ReadLine

Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки. (Переопределяет TextReader..::.ReadLine()()().)

ReadToEnd

Считывает поток от текущего положения до конца. (Переопределяет TextReader..::.ReadToEnd()()().)

ToString

Возвращает объект String, который представляет текущий объект Object. (Унаследовано от Object.)

Пример использования Класса StreamReader

001:

002:

003:

004:

005:

006:

007:

008:

009:

010:

using (StreamReader sr = new StreamReader("TestFile.txt"))

{

string line;

// Read and display lines from the file until the end of

// the file is reached.

while ((line = sr.ReadLine()) != null)

{

Console.WriteLine(line);

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]