Public abstract class Stream : MarshalByRefObject, IDisposable
Public class FileStream : Stream
Public class MemoryStream : Stream
Public abstract class TextReader : MarshalByRefObject, Idisposable
Public abstract class TextWriter : MarshalByRefObject, Idisposable
Public class StreamReader : TextReader
Public class StreamWriter : TextWriter
Public class StringReader : TextReader
Public class StringWriter : TextWriter
Public class BinaryReader : Idisposable
Public class BinaryWriter : Idisposable
Основные классы.
Потоковые: FileStream, StreamReader, StreamWriter, BinaryReader, BinaryWriter, Console.
Непотоковые: File.
рис. 5
Другие классы: MemoryStream, NetworkStream, BufferedStream, CryptoStream.
Консольный ввод-вывод данных
C#-программы в пространстве имен System могут использовать:
• стандартный входной поток Console.In, в который вводится информация с клавиатуры;
• стандартный выходной поток Console.Out, в который выводится информация, направляемая в консоль (на экран);
• стандартный выходной поток Console.Error сообщений об ошибках, в который выводится информация, направляемая в консоль (на экран).
Console.In, Console.Out и Console.Error – это свойства класса Console, значением которых являются соответствующие символьные потоки (объекты).
Примеры ввода-вывода:
Console.ReadLine(…) и Console.WriteLine(…).
Console.Out и Console.Error — объекты типа TextWriter. Поток Console.In - объект типа TextReader.
Для доступа к этим потокам можно использовать методы и свойства, определенные в классах TextWriter и TextReader соответственно. Однако это целесообразно делать только для потока Console.Error:
Public static void Main()
{
int a, b=7, c=0;
Try
{
a = b / c; // Деление на нуль: генерируем исключение.
}
Catch (DivideByZeroException exc)
{
Console.Error.WriteLine (exc.Message);
}
}
У стандартных потоков можно, не переделывая программу, менять источник и приемник информации (т.е. перенаправлять поток).
Перенаправить стандартный поток можно двумя способами.
1) средствами Windows (внешними);
Дата добавления: 2019-02-08; просмотров: 640;