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

Учебное пособие по C# Stream:StreamReader, StreamWriter с примером

В файловых операциях C# потоки обычно используются для чтения и записи файлов. Поток — это дополнительный слой, созданный между приложением и файлом. Поток используется для обеспечения плавного чтения и записи в файл.

Потоки обычно используются при чтении данных из больших файлов. Используя потоки, данные из больших файлов разбиваются на небольшие фрагменты и отправляются в поток. Затем эти фрагменты данных можно прочитать из приложения.

Причина разбиения его на небольшие фрагменты связана с влиянием на производительность чтения большого файла за один раз. Если бы вы считывали данные, скажем, из файла размером 100 МБ за один раз, ваше приложение могло бы просто зависнуть и стать нестабильным. Лучшим подходом будет использование потоков для разбиения файла на управляемые фрагменты.

Таким образом, когда операция записи выполняется в файле, данные, которые должны быть записаны, сначала записываются в поток. Затем данные из потока записываются в файл. То же самое касается операции чтения. При операции чтения данные сначала передаются из файла в поток. Затем данные считываются из приложения через поток. Давайте рассмотрим пример того, как мы можем читать и писать с помощью потоков.

В этом уроке вы узнаете-

Потоковое чтение

Потоковое чтение используется для чтения данных из файла с использованием потоков. Данные из файла сначала считываются в поток. После этого приложение считывает данные из потока.

Для нашего примера предположим, что у нас есть файл на диске D с именем Example.txt. Файл будет простым текстовым файлом и будет состоять из 2 строк, как показано ниже

Для нашего примера мы создадим простое консольное приложение и будем работать с файловыми потоками

Давайте рассмотрим пример того, как мы можем использовать потоки для чтения данных из файла. Введите приведенный ниже код в файл program.cs.

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    using (StreamReader sr = File.OpenText(path))
    {
     String s = "";

     while ((s = sr.ReadLine()) != null)
     {
      Console.WriteLine(s);
     }
    }
   Console.ReadKey();
  }
 }
}

Пояснение кода:-

  1. Во-первых, мы объявляем объект чтения потока. Объект чтения потока используется в C# для определения потока из файла в приложение. Данные будут передаваться из файла в поток всякий раз, когда данные считываются из файла. File.OpenText используется для открытия файла «Example.txt» в режиме только для чтения. Затем обработчик файла отправляется объекту чтения потока.
  2. Далее мы определяем временную переменную «s», которая будет использоваться для чтения всех данных из файла.
  3. Затем мы используем метод чтения потока ReadLine для чтения каждой строки из буфера потока. При выполнении этой операции каждая строка будет сначала перенесена из файла в буфер. Затем строка строки будет передана из буфера в переменную ‘s’. Затем мы записываем содержимое строки «s» в консоль.

Когда приведенный выше код установлен и проект запускается с помощью Visual Studio, вы получите приведенный ниже вывод.

Вывод:-

Из вывода видно, что Stream Reader прочитал обе строки из файла. Наконец, строки строки, прочитанные из потока, были отправлены в Консоль.

Запись потока

Средство записи потока используется для записи данных в файл с использованием потоков. Данные из приложения сначала записываются в поток. После этого поток записывает данные в файл. Давайте рассмотрим пример того, как мы можем использовать потоки для записи данных из файла. Введите приведенный ниже код в файл program.cs.

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";
    
    using (StreamWriter sr = File.AppendText(path))
    {
     sr.WriteLine("Guru99 - ASP.Net");
     sr.Close();

     Console.WriteLine(File.ReadAllText(path));
    }
    Console.ReadKey();
  }
 }
}

Пояснение кода:-

  1. Во-первых, мы объявляем объект записи потока. Объект записи потока используется в C# для определения потока. Затем поток используется для записи данных из приложения в файл. Данные будут передаваться из приложения в поток всякий раз, когда данные необходимо записать. Команда File.AppendText используется для открытия файла «Example.txt» в режиме добавления. Затем обработчик файла отправляется объекту записи потока.
  2. Мы используем метод записи потока Writeline для записи строки «Guru99 – ASP.Net» в поток. Затем строка из потока будет записана в файл.
  3. Затем мы закрываем средство записи потока после записи в файл. Обычно рекомендуется закрывать обработчики файлов, когда файл больше не требуется для записи.
  4. Наконец, мы снова читаем содержимое файла и записываем его в журнал консоли. Это нужно для проверки того, была ли строка записана в файл.

Когда приведенный выше код установлен и проект запускается с помощью Visual Studio, вы получите приведенный ниже вывод.

Вывод:-

Из вывода видно, что строка «Guru99 — ASP.Net» успешно добавлена ​​в файл. Все 3 строки текста можно увидеть в консоли.

Сводка


Язык C

  1. C++ для цикла с ПРИМЕРОМ
  2. Оператор C++ Switch Case с ПРИМЕРОМ
  3. C++ динамическое выделение массивов с примером
  4. Базовый ввод/вывод C++:пример Cout, Cin, Cerr
  5. Стек в C++ STL с примером
  6. Структура С++ с примером
  7. std::list в C++ с примером
  8. Учебное пособие по абстрактному классу C # с примером:что такое абстракция?
  9. Учебное пособие по коллекциям C# с примерами
  10. Java BufferedReader:как читать файл в Java с примером