Применение касса StreamReader - C#

Узнай цену своей работы

Формулировка задачи:

Изучаю работу с символьными потоками ввода-вывода данных, в книге есть пример демонстрирующий применение класса 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 путь)
Примера с использованием непосредственно класса 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)
    {
        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)
{
....
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы