Catch (IOException exc)


{

Console.WriteLine(exc.Message +

"Ошибка при чтении/записи файла.");

}

fin.Close();

fout.Close();

}

}

Чтение и запись текста (символьные потоки)

Символьные потоки работают с любой кодировкой.

Чтобы выполнять файловые операции на символьной основе, поместите объект класса FileStream внутрь объекта класса StreamReader или класса StreamWriter.

Эти классы автоматически преобразуют байтовый поток в строки и наоборот.

ОСОБЕННОСТИ:

Метод StreamReader.ReadLine() автоматически опреде­ляет конец строки и прекращает чтение в этом месте.

Метод StreamWriter.Writer() автоматически добавляет комбинацию конца строки (\r\n – возврат каретки, перевод строки).

рис.8

Присоединение файла или потока к классам StreamReader или StreamWriter

Класс StreamReader можно использовать для чтения данных из любого источника. Для этого вместо применения имени файла в конструкторе можно применять ссылку на другой поток. Например, в классе FileInfo существуют методы OpenText() и CreateText(), которые возвращают ссылки на StreamReader.

Класс StreamWriter можно использовать для записи данных в любой приемник.

Класс StreamReader — производный от TextReader.

Класс StreamWriter — производный от класса TextWriter.

Следовательно, классы StreamWriter и StreamReader имеют доступ к методам и свойствам, определенным их базовыми классами.

StreamReader

В классе StreamReader определено несколько конструкторов. Чаще всего используются следующие конструкторы, которые проверяют маркеры кодировки в начале файла (2-3 символа):

StreamReader (string path) //прямое присоединение StreamReader к файлу

Path – полный путь (имя файла). Файл должен существовать.

StreamReader (Stream stream) // присоединение StreamReader к потоку

Stream - имя открытого потока.

Примеры.

1) StreamReader sr = new StreamReader(@"c:\Temp\ReadMy.txt");

2) FileStrim fs = new FileStrim (@"c:\Temp\ReadMy.txt",

FileMode.Open, FileAccess.Read, FileShare.None);

StreamReader sr = new StreamReader(fs);

Методы чтения:

string str = sr.ReadLine(); // читать строку, null - EOF

string str2 = sr.ReadToEnd(); // прочитать весь остаток файла

int nextChar = sr.Read (); // прочитать один символ (-1 = EOStrim)

char[ ] chr = new char[100];

int n = sr.Read(chr, 0, 100); // 100 символов со смещением 0

// n – реально прочитанное кол-во



Дата добавления: 2019-02-08; просмотров: 528;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.