Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Потоки файлов в C#: StreamReader и StreamWriter — пошаговое руководство

В C# файловый ввод-вывод потоки служат посредником между вашим приложением и файловой системой. Они позволяют читать из файлов или писать в них память-еффективным способом, особенно при работе с большими объёмами данных.

Вместо загрузки всего 100 МБ файла в память — что может вызвать зависание приложения — потоки разбивают данные на управляемые фрагменты. Этот подход сохраняет плавную производительность и предотвращает краши.

Ниже вы найдёте краткие примеры, демонстрирующие чтение и запись файлов с использованием StreamReader и StreamWriter. Следуйте пошаговым инструкциям, чтобы интегрировать эти паттерны в свои проекты.

StreamReader — чтение файлов

Класс StreamReader читает текст из файла построчно, передавая данные через буфер перед обработкой приложением.

Предположим, у вас есть файл Example.txt на диске D со следующими двумя строками:

Создайте консольное приложение и добавьте следующий код в Program.cs:

Потоки файлов в C#: StreamReader и StreamWriter — пошаговое руководство

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamReader sr = File.OpenText(path)) {
                string line;
                while ((line = sr.ReadLine()) != null) {
                    Console.WriteLine(line);
                }
            }
            Console.ReadKey();
        }
    }
}

Пояснение:

  1. Инстанцируем StreamReader через File.OpenText, открывая файл в режиме только чтения.
  2. Читаем каждую строку с ReadLine(), которая передаёт данные из файла в буфер, а затем в переменную line.
  3. Выводим каждую строку в консоль.

Запуск этой программы в Visual Studio показывает:

Потоки файлов в C#: StreamReader и StreamWriter — пошаговое руководство

Две строки из Example.txt отображаются корректно, подтверждая работу ридера.

StreamWriter — запись в файлы

Наоборот, StreamWriter пишет текст из вашего приложения в файл через буфер. Ниже простой пример, добавляющий строку в тот же файл Example.txt.

Потоки файлов в C#: StreamReader и StreamWriter — пошаговое руководство

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamWriter sw = File.AppendText(path)) {
                sw.WriteLine("Guru99 – ASP.Net");
            }
            Console.WriteLine(File.ReadAllText(path));
            Console.ReadKey();
        }
    }
}

Пояснение:

  1. Инстанцируем StreamWriter через File.AppendText, открывая файл в режиме дозаписи.
  2. Записываем новую строку с WriteLine(), что помещает текст в буфер, а затем в файл.
  3. Автоматически закрываем writer через блок using.
  4. Читаем всё содержимое файла с File.ReadAllText для подтверждения операции записи.

Выполнение программы показывает:

Потоки файлов в C#: StreamReader и StreamWriter — пошаговое руководство

Консоль отображает все три строки, подтверждая, что новая запись успешно дозаписана.

Ключевые выводы

Язык C

  1. Цикл for в C++: синтаксис, принцип работы и практические примеры
  2. Оператор switch-case в C++: синтаксис, применение и практические примеры
  3. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  4. Потоки в C++: cout, cin, cerr, clog — практическое руководство
  5. std::stack в C++: полное руководство с практическими примерами
  6. Структуры (struct) в C++: объяснение с практическим примером
  7. Освоение std::list в C++: синтаксис, функции и практические примеры
  8. Абстрактные классы в C#: практическое руководство с примерами кода
  9. Коллекции в C#: практическое руководство с реальными примерами
  10. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами