Стандартный поток вывода сообщений об ошибках
Стандартный поток вывода сообщений об ошибках Error, так же как и стандартный поток вывода Out, создан на базе класса TextWriter. Поэтому для записи сообщений об ошибках вы можете использовать только что описанные методы Write и WriteLine.
Вот как программа может получить ссылку на стандартный поток вывода сообщений об ошибках:
TextWriter twErr = Console.Error;
По умолчанию сообщения об ошибках выводятся на то же самое устройство вывода (консоль), на которое выводятся и строки, записываемые в стандартный поток вывода.
Программа StdStreams
Приложение StdStreams демонстрирует способы работы со стандартными потоками ввода, вывода и вывода сообщений об ошибках
using System;
using System.IO;
namespace StdStreams
{
class StdstreamsApp
{
static void Main(string[] args)
{
TextWriter twOut = Console.Out;
TextWriter twErr = Console.Error;
twOut.WriteLine (“Запись в стандартный поток вывела”);
twErr.WriteLine(“Запись в стандартный поток сообщений об ошибках”);
TextReader trIn = Console.In;
twOut.Write(“Введите любую строку:“);
string s = trIn.ReadLine();
twOut.WriteLine(“Bы ввели строку {0}”, s);
trIn.ReadLine();
}
}
}
Получив управление, метол Main нашей программы получает ссылки на стандартный поток вывода и стандартный поток вывода сообщений об ошибках:
TextWriter twOut = Console.Out;
TextWriter twErr = Console.Error;
Далее программа выводит в эти потоки две текстовые строки:
twOut.WriteLine("Запись в стандартный лоток вывода");
twErr.WriteLine("Запись в стандартный поток сообщений об ошибках");
После этого наша программа получает ссылку на стандартный поток ввода, которой по умолчанию связан с клавиатурой:
TextReader trIn = Console.In;
Отобразив на экране строку приглашения, программа вводит из стандартного потока ввода текстовую строку и записывает ее в переменную s:
twOut.Write (“Введите любую строку: ");
string s = trIn.ReadLine();
Далее введенная строка отображается на консоли следующим образом:
twOut.WriteLine("Вы ввели строку (0)", s);
trIn.ReadLine();
Для завершения работы программы необходимо нажать клавишу Enter.
Контрольные вопросы:
1.Что понимается под термином «поток»?
2.Стандартный поток ввода
3.Стандартный поток вывода.
4.Стандартный поток вывода сообщений об ошибках.
Лекция 22. Классы потоков для работы с файлами, памятью и сетью
План:
1.Класс BufferedStream
2.Класс FileStream
3.Класс MemoryStream
4.Класс NetworkStream
5.Класс CryptoStream
Дата добавления: 2015-10-26; просмотров: 1004;