Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 스트림 배열 활용하기: 문자열 배열을 파일에 쓰고 읽는 방법

C#에서는 StreamWriterStreamReader를 사용하면 문자열 배열을 텍스트 파일에 손쉽게 저장하고 다시 불러올 수 있습니다. 이 글에서는 스트림 배열을 활용해 파일에 데이터를 기록하고 읽어오는 전체 과정을 예제와 함께 단계별로 살펴보겠습니다.

1. 문자열 배열 준비하기

먼저 파일에 저장할 값들을 담은 문자열 배열을 선언합니다.

string[] names = new string[] {"Jack", "Tom"};

2. StreamWriter로 파일에 쓰기

StreamWriter 객체를 생성한 뒤, foreach 문으로 배열의 각 요소를 한 줄씩 파일에 기록합니다.

using (StreamWriter sw = new StreamWriter("names.txt")) {
    foreach (string s in names) {
        sw.WriteLine(s);
    }
}

using 블록을 사용하면 작업이 끝난 후 스트림이 자동으로 해제되므로, 별도로 Close()를 호출하지 않아도 되고 리소스 누수를 방지할 수 있습니다.

3. 전체 예제: 파일에 쓰고 다시 읽기

다음은 문자열 배열을 파일에 기록한 후, 같은 파일을 다시 열어 각 줄을 콘솔에 출력하는 완전한 예제입니다.

using System;
using System.IO;

namespace FileApplication {
    class Program {
        static void Main(string[] args) {
            string[] names = new string[] {"Jack", "Tom"};

            // 배열 내용을 파일에 쓰기
            using (StreamWriter sw = new StreamWriter("names.txt")) {
                foreach (string s in names) {
                    sw.WriteLine(s);
                }
            }

            // 파일에서 각 줄을 읽어 출력하기
            string line = "";
            using (StreamReader sr = new StreamReader("names.txt")) {
                while ((line = sr.ReadLine()) != null) {
                    Console.WriteLine(line);
                }
            }
            Console.ReadKey();
        }
    }
}

실행 결과

Jack
Tom

핵심 포인트 정리

  • WriteLine(): 배열의 각 요소를 파일에 한 줄씩 기록합니다.
  • ReadLine(): 파일에서 한 줄씩 읽어오며, 더 이상 읽을 내용이 없으면 null을 반환해 반복문이 종료됩니다.
  • using 문: 스트림 사용이 끝나면 자동으로 리소스를 해제하여 안전한 파일 입출력을 보장합니다.

이처럼 C#의 스트림 클래스를 활용하면 배열 데이터를 파일로 간단하게 영속화할 수 있으며, 로그 저장, 설정 파일 생성 등 다양한 실무 시나리오에 응용할 수 있습니다.