Programming/C# - Window

C#/ 스트림(stream)

esoog Polaris 2023. 10. 10. 10:30
반응형

버퍼 스트림(Buffered Stream), 파일 스트림(File Stream), 그리고 메모리 스트림(Memory Stream)은 C#에서 데이터를 처리하는 다양한 스트림 유형 중 일부입니다. 각각의 기능과 예시를 설명하겠습니다.

 

 



1. **버퍼 스트림(Buffered Stream)**: 컴퓨팅에서 버퍼(buffer, 문화어: 완충기억기)는 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼링(buffering)이란 버퍼를 활용하는 방식 또는 버퍼를 채우는 동작을 말한다.

   버퍼 스트림은 입출력 작업을 효율적으로 수행하기 위해 데이터를 버퍼에 저장하고 한 번에 읽거나 쓸 수 있는 스트림입니다. 이로 인해 입출력 작업의 성능이 향상됩니다. `BufferedStream` 클래스를 사용하여 버퍼 스트림을 생성할 수 있습니다.

 

   using System;
   using System.IO;

   class Program
   {
       static void Main()
       {
           // 파일에서 읽고 버퍼 스트림으로 처리하는 예시
           using (FileStream fileStream = new FileStream("example.txt", FileMode.Open))
           using (BufferedStream bufferedStream = new BufferedStream(fileStream))
           using (StreamReader reader = new StreamReader(bufferedStream))
           {
               string line;
               while ((line = reader.ReadLine()) != null)
               {
                   Console.WriteLine(line);
               }
           }
       }
   }

 

 



2. **파일 스트림(File Stream)**:

   파일 스트림은 파일에서 데이터를 읽고 쓰는 데 사용되는 스트림입니다. `FileStream` 클래스를 사용하여 파일 스트림을 생성하고 파일에 데이터를 쓰거나 파일로부터 데이터를 읽을 수 있습니다.

 

   using System;
   using System.IO;

   class Program
   {
       static void Main()
       {
           // 파일에 텍스트를 쓰는 예시
           using (FileStream fileStream = new FileStream("example.txt", FileMode.Create))
           using (StreamWriter writer = new StreamWriter(fileStream))
           {
               writer.WriteLine("파일 스트림 예시입니다.");
           }

           // 파일에서 텍스트를 읽는 예시
           using (FileStream fileStream = new FileStream("example.txt", FileMode.Open))
           using (StreamReader reader = new StreamReader(fileStream))
           {
               string line;
               while ((line = reader.ReadLine()) != null)
               {
                   Console.WriteLine(line);
               }
           }
       }
   }

 

 



3. **메모리 스트림(Memory Stream)**:

   메모리 스트림은 메모리 내에 데이터를 저장하고 읽고 쓰는 데 사용되는 스트림입니다. 주로 파일이나 네트워크에서 읽은 데이터를 메모리에 임시로 저장할 때 사용됩니다.

 

   using System;
   using System.IO;

   class Program
   {
       static void Main()
       {
           // 메모리 스트림에 데이터를 쓰는 예시
           using (MemoryStream memoryStream = new MemoryStream())
           using (StreamWriter writer = new StreamWriter(memoryStream))
           {
               writer.WriteLine("메모리 스트림 예시입니다.");
               writer.Flush();

               // 메모리 스트림의 내용을 문자열로 출력
               string result = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray());
               Console.WriteLine(result);
           }
       }
   }

 

728x90

'Programming > C# - Window' 카테고리의 다른 글

C#/ 델리게이트와 이벤트(delegate, event)  (1) 2023.10.10
C#/ Regex(정규 표현식) 사용  (0) 2023.10.10
C#/ CefSharp 사용  (0) 2023.10.10
C#/ TCP-IP 통신  (0) 2023.09.27
C#/ NModbus4(Modbus) 모드버스  (0) 2023.09.27