소개: .NET에서 텍스트 파일 읽기

.NET을 사용할 때 자주 요구되는 작업 중 하나는 텍스트 파일의 내용을 문자열로 읽는 것입니다. 구성 설정, 로그 또는 사용자 생성 콘텐츠 등, 파일 작업을 효율적으로 관리하는 것은 모든 애플리케이션에 매우 중요합니다. 이 블로그 게시물에서는 이를 달성하기 위한 최선의 방법을 탐구하고 현재 사용하고 있는 코드를 단순화하는 방법을 살펴보겠습니다.

전통적인 방법

이전에는 많은 개발자들이 아래의 샘플 코드처럼 텍스트 파일을 읽기 위해 더 긴 방법을 사용했습니다:

private string LoadFromFile(string path)
{
    try
    {
        string fileContents;
        using(StreamReader rdr = File.OpenText(path))
        {
            fileContents = rdr.ReadToEnd();
        }

        return fileContents;
    }
    catch
    {
        throw;
    }
}

이 방법이 작동하긴 하지만, 번거롭고 장황하게 느껴질 수 있습니다. 다행히도, .NET에서는 더 간단한 접근 방식을 제공합니다.

간소화된 솔루션: File.ReadAllText() 사용하기

텍스트 파일의 내용을 문자열로 더 간결하게 읽으려면 File.ReadAllText() 메서드를 활용할 수 있습니다. 다음은 이를 구현하는 방법입니다:

using System.IO;
// ...
string filename = "C:/example.txt";
string content = File.ReadAllText(filename);

File.ReadAllText()의 주요 이점

  • 단순성: 코드가 훨씬 짧고 읽기 쉽습니다.
  • 효율성: 하나의 메서드 호출로 전체 파일을 처리하여 성능을 최적화합니다.
  • 오류 처리: 오류 처리를 여전히 구현할 수 있지만, 기본 작업이 더 깔끔해집니다.

다양한 니즈를 위한 추가 방법

.NET은 특정 사용 사례에 따라 몇 가지 다른 방법을 제공합니다:

1. ReadAllLines

파일의 내용을 문자열 배열(각 줄이 별도의 문자열)로 읽으려면 다음을 사용할 수 있습니다:

string[] lines = File.ReadAllLines("C:/example.txt");

2. ReadAllBytes

바이너리 파일, 이미지 등과 같이 파일을 바이트 배열로 읽어야 하는 경우, 다음을 사용하세요:

byte[] bytes = File.ReadAllBytes("C:/example.txt");

3. 쓰기 메서드

.NET은 파일에 쓰기 위한 메서드도 제공합니다. 문자열을 텍스트 파일에 쉽게 쓸 수 있습니다:

File.WriteAllText("C:/example.txt", content);

결론: 단순화된 코딩 수용하기

File.ReadAllText() 및 관련 메서드를 채택함으로써 .NET에서 파일 처리 프로세스를 간소화할 수 있습니다. 이로 인해 코드가 더 깔끔해질 뿐만 아니라 유지 관리성과 성능도 향상됩니다.

다음에 텍스트 파일을 읽어야 할 때는 이 간소화된 접근 방식을 기억하고, 코드를 더 최적화하기 위해 다른 ReadAll 메서드를 탐색해 보세요.

행복한 코딩 되세요!