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

C#에서 배열을 파일에 저장하는 방법 – WriteAllLines 메서드 완벽 가이드

C#에서 문자열 배열의 내용을 텍스트 파일로 저장하려면 File.WriteAllText 계열의 메서드 중 하나인 WriteAllLines를 사용하는 것이 가장 간단합니다. 이 메서드는 배열의 각 요소를 파일에 한 줄씩 자동으로 기록해 주기 때문에 별도의 반복문이나 스트림 처리 없이 한 줄의 코드로 작업을 완료할 수 있습니다.

1. 문자열 배열 준비하기

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

string[] stringArray = new string[] {
    "one",
    "two",
    "three"
};

2. WriteAllLines 메서드로 파일에 쓰기

File.WriteAllLines 메서드는 첫 번째 인자로 파일 경로를, 두 번째 인자로 문자열 배열을 받습니다. 파일이 이미 존재하면 덮어쓰고, 존재하지 않으면 새로 생성합니다.

File.WriteAllLines("new.txt", stringArray);

배열의 각 요소는 개행 문자(줄바꿈)로 구분되어 순서대로 파일에 기록됩니다.

3. 전체 예제 코드

아래는 배열을 파일에 저장한 후, 다시 파일을 읽어 콘솔에 출력하여 결과를 확인하는 전체 코드입니다.

using System.IO;
using System;

public class Program {
    public static void Main() {
        // 저장할 문자열 배열
        string[] stringArray = new string[] {
            "one",
            "two",
            "three"
        };

        // 배열을 파일에 한 줄씩 기록
        File.WriteAllLines("new.txt", stringArray);

        // 파일 내용을 읽어 출력
        using (StreamReader sr = new StreamReader("new.txt")) {
            string res = sr.ReadToEnd();
            Console.WriteLine(res);
        }
    }
}

실행 결과

one
two
three

추가 팁: 인코딩 지정하기

기본적으로 WriteAllLines는 UTF-8(바이트 순서 표시 없음)로 파일을 작성하지만, 필요에 따라 세 번째 인자로 인코딩을 직접 지정할 수 있습니다.

File.WriteAllLines("new.txt", stringArray, System.Text.Encoding.UTF8);

또한 비동기 방식으로 파일을 작성하고 싶다면 .NET 4.5 이상에서 제공하는 File.WriteAllLinesAsync 메서드를 활용할 수 있으며, 대용량 데이터를 다룰 때 UI 응답성을 유지하는 데 유용합니다.

정리

  • File.WriteAllLines(path, stringArray): 배열 요소를 한 줄씩 파일에 기록
  • 파일이 없으면 새로 생성, 있으면 덮어쓰기 수행
  • 인코딩 옵션과 비동기 버전(WriteAllLinesAsync)도 함께 제공됨

이처럼 WriteAllLines 메서드를 사용하면 반복문 없이도 배열 데이터를 손쉽게 텍스트 파일로 저장할 수 있습니다.