В абстрактных классах TextReader и TextWriter данные рассматриваются как последовательный
поток символов (то есть, просто как текст). TextReader имеет следующие методы:
Close (Закрыть). Peek (Считывание элемента данных), Read (Чтение), ReadBlock,
ReadLine и ReadToEnd. TextWriter содержит методы типа Close (Закрыть), Flush
(Дозапись), Write (Запись) и WriteLine. Перегруженные методы Read (Чтение) читают
символы из потока. Перегруженные методы Write (Запись) и WriteLine записывают
данные различных типов в поток. Если объект записывается в поток, то используется
метод ToString объекта.
StringReader и StringWriter являются производными классами от классов TextReader и TextWriter соответственно. StringReader и StringWriter читают и записывают данные в символьную строку, которая сохраняется в базовом объекте StringBuilder. Конструктор StringWriter может принимать объект StringBuilder. Класс StringBuilder обсуждался в главе 3 "Программирование на управляемом C++".
StreamReader и StreamWriter также являются производными классами от классов
FileStream *fs = new FileStream(
"TextTest.txt", FileMode::OpenOrCreate);
if (fs->Length == 0) // если Длина == О {
Console::WriteLine("Writing Data..."); // Запись данных
StreamWriter *sw = new StreamWriter(fs);
sw->Write(100); // Запись
sw->WriteLine(" One Hundred"); // Сто
sw->WriteLine("End of File"); // Конец Файла
sw->Close();
}
else
{
String *text; // Строка
StreamReader *sr = new StreamReader(fs) ;
text = sr->ReadLine(); // текст
while (text != 0)
// пока (текст!= О)
{
Console::WriteLine(text);
// текст
text = sr->ReadLine();
// текст
}
sr->Close ();
}
fs->Close ();