
Работа с файлами
Для работы с текстовыми файлами в языке 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); } }
|