Применение касса StreamReader - C#
Формулировка задачи:
Изучаю работу с символьными потоками ввода-вывода данных, в книге есть пример демонстрирующий применение класса StreamReader, где программа выводит на экран данные текстового файла:
После примера идет краткое объяснение работы программы и как можно делать еще
Примера с использованием непосредственно класса StreamReader нет и я решил попробовать сделать это сам, но к сожалению не выходит. Программа запускается, ошибок и сообщений об исключениях не выдает, но и содержимое текстового файла на экран не выводит. Вот что сделал:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- class Demo
- {
- static void Main(string[] args)
- {
- FileStream fin;
- string s;
- try
- {
- fin = new FileStream("test.txt", FileMode.Open);
- }
- catch (IOException exc)
- {
- Console.WriteLine("Ошибка открытия файла:\n" + exc.Message);
- return;
- }
- StreamReader fstr_in = new StreamReader(fin);
- try
- {
- while ((s = fstr_in.ReadLine()) != null)
- {
- Console.WriteLine(s);
- }
- }
- catch (IOException exc)
- {
- Console.WriteLine("Ошибка ввода-вывода:\n" + exc.Message);
- }
- finally
- {
- fstr_in.Close();
- }
- Console.ReadLine();
- }
- }
Иногда файл проще открыть, используя непосредственно класс StreamReader,
аналогично классу StreamWriter. Для этой цели служит следующий конструктор:
StreamReader(string путь)
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- class Demo
- {
- static void Main(string[] args)
- {
- StreamReader fstr_in = null;
- string s;
- try
- {
- fstr_in = new StreamReader("test.txt");
- }
- catch (IOException exc)
- {
- Console.WriteLine("Ошибка открытия файла:\n{0}", exc.Message);
- }
- try
- {
- while (fstr_in.EndOfStream)
- {
- s = fstr_in.ReadLine();
- Console.WriteLine(s);
- }
- }
- catch (IOException exc)
- {
- Console.WriteLine("Ошибка ввода-вывода:\n{0}", exc.Message);
- }
- finally
- {
- fstr_in.Close();
- }
- Console.ReadLine();
- }
- }
Решение задачи: «Применение касса StreamReader»
textual
Листинг программы
- while (!fstr_in.EndOfStream)
- {
- ....
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д