C#:
텍스트 파일 읽기

How to: (방법)

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "example.txt";

        // 파일 전체를 읽는 방법
        string readText = File.ReadAllText(path);
        Console.WriteLine(readText);

        // 파일을 라인별로 읽는 방법
        string[] lines = File.ReadAllLines(path);
        foreach (var line in lines)
        {
            Console.WriteLine(line);
        }

        // 파일을 스트림으로 읽는 방법
        using (StreamReader reader = new StreamReader(path))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}
// example.txt 내용을 읽으면 나오는 출력:
안녕하세요.
이것은 테스트 파일입니다.
파일 읽기 예제에 사용되었습니다.

Deep Dive (심화 탐구)

초기 컴퓨팅 시대부터 파일 읽기는 중요했습니다. C#에는 여러 방식으로 텍스트 파일을 읽을 수 있으며, 위 예제는 그 중 간단한 세 가지를 보여줍니다. File.ReadAllText 메서드는 전체 파일의 내용을 메모리에 로드하여 편하나, 큰 파일 처리시 메모리 부담이 커질 수 있습니다. 이때는 File.ReadAllLines이나 StreamReader를 사용하여 라인별로 처리하는 것이 더 효율적입니다.

StreamReader는 내부적으로 버퍼를 사용하여 텍스트 읽기 성능을 최적화합니다. 또한, IDisposable 인터페이스를 구현하므로 using 구문으로 자원 관리를 자동화할 수 있습니다.

스트림을 직접 관리하기 원한다면 FileStream과 함께 StreamReader를 사용할 수도 있습니다. 대안으로는 System.IO 네임스페이스 안의 MemoryMappedFile 클래스를 통해 대용량 파일을 메모리에 매핑하고 부분적으로 읽는 방법도 있습니다.

See Also (참고자료)