산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# 스트림 자습서:StreamReader, StreamWriter(예제 포함)

C# 파일 작업에서 일반적으로 스트림은 파일을 읽고 쓰는 데 사용됩니다. 스트림은 응용 프로그램과 파일 사이에 생성되는 추가 계층입니다. 스트림은 파일에 대한 원활한 읽기 및 쓰기 작업을 보장하는 데 사용됩니다.

스트림은 일반적으로 대용량 파일에서 데이터를 읽을 때 사용됩니다. 스트림을 사용하여 큰 파일의 데이터를 작은 청크로 나누어 스트림으로 보냅니다. 그런 다음 이러한 데이터 청크를 애플리케이션에서 읽을 수 있습니다.

작은 덩어리로 나누는 이유는 한 번에 큰 파일을 읽을 때의 성능 영향 때문입니다. 예를 들어 100MB 파일에서 데이터를 한 번에 읽는 경우 응용 프로그램이 중단되고 불안정해질 수 있습니다. 가장 좋은 방법은 스트림을 사용하여 파일을 관리 가능한 청크로 나누는 것입니다.

따라서 파일에 쓰기 작업을 수행하면 쓸 데이터가 먼저 스트림에 기록됩니다. 그런 다음 스트림에서 데이터가 파일에 기록됩니다. 읽기 작업도 마찬가지입니다. 읽기 작업에서 데이터는 먼저 파일에서 스트림으로 전송됩니다. 그런 다음 스트림을 통해 애플리케이션에서 데이터를 읽습니다. 스트림을 사용하여 읽고 쓰는 방법의 예를 살펴보겠습니다.

이 튜토리얼에서는 배우게 될 것입니다-

스트림 리더

스트림 리더는 스트림을 사용하여 파일에서 데이터를 읽는 데 사용됩니다. 파일의 데이터가 먼저 스트림으로 읽혀집니다. 그 후 애플리케이션은 스트림에서 데이터를 읽습니다.

이 예에서는 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'로 전송됩니다. 그런 다음 문자열 ''의 내용을 콘솔에 씁니다.

위의 코드를 설정하고 Visual Studio를 이용하여 프로젝트를 실행하면 아래와 같은 결과가 나옵니다.

출력:-

출력에서 스트림 판독기가 파일에서 두 줄을 모두 읽는 것을 볼 수 있습니다. 마지막으로 스트림에서 읽은 문자열의 행이 콘솔로 전송되었습니다.

스트림 작성자

스트림 작성기는 스트림을 사용하여 파일에 데이터를 쓰는 데 사용됩니다. 애플리케이션의 데이터는 먼저 스트림에 기록됩니다. 그 후 스트림은 파일에 데이터를 씁니다. 파일에서 데이터를 쓰기 위해 스트림을 사용하는 방법의 예를 살펴보겠습니다. 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++ For 루프
  2. EXAMPLE이 있는 C++ Switch Case 문
  3. 예제를 사용한 C++ 배열 동적 할당
  4. C++ 기본 입출력:Cout, Cin, Cerr 예제
  5. 예제를 사용하여 C++ STL로 스택
  6. 예제가 있는 C++ 구조체
  7. 예제가 있는 C++의 std::list
  8. C# 추상 클래스 자습서 예제:추상화란?
  9. 예제가 있는 C# 컬렉션 자습서
  10. Java BufferedReader:예제를 사용하여 Java에서 파일을 읽는 방법