[C# 문법] C# StreamReader 클래스 파일 읽기

소개

  • 안녕하세요. 오늘은 C# 문법에서 StreamReader 클래스를 이용하여 텍스트 파일을 읽는 방법에 대해서 알려 드리려고 합니다.
  • 실무에서 프로젝트를 진행하다 보면, 텍스트 파일을 읽어와서 해당 데이터를 파싱해서 다루는 경우가 비일비재 한데요.
  • 이럴때 매우 유용하게 사용할 수 있는 아주 기본적인 클래스 이므로 한번씩 사용해서 문법을 익히시는 것을 추천 드리도록 하겠습니다.
  • 그럼 바로 예제 코드를 통해서 바탕화면에 저장되어 있는 test.txt 파일을 StreamReader 클래스를 이용하여 읽어 오는 예제 코드를 작성해 보도록 하겠습니다.

예제 코드

  • 아래 예제 코드를 간단히 설명 드리도록 하겠습니다.
  • 우선 File.Exists 라는 정적 메서드를 통해 파일의 존재 유무를 체크 하였습니다.
  • 파일이 존재한다면, 다음은 파일을 읽어야 합니다. StreamReader 의 인스턴스를 생성하면 파일을 여는 처리도 함께 수행됩니다.
  • 파일의 경로와 문자 인코딩을 인수에 전달해서 파일을 엽니다.
  • While 문 안에서는 텍스트를 한 행씩 읽어 들이면서 처리합니다.
  • 파일의 마지막까지 읽어 들였는지를 EndOfStream 속성을 보고 판단합니다.
  • EndOfStream 이 false이면 아직 읽어 들일 행이 남은 것이므로 ReadLine 메서드로 한 행을 읽어 들여 그때의 텍스트 내용은 line 변수에 저장합니다.
using System;
using System.IO;
using System.Text;

namespace ConsoleApp7
{
    static class Program
    {
        static void Main(string[] args)
        {
            var filePath = @"C:\Users\Desktop\test.txt";

            // 파일 존재 유무 체크
            if(File.Exists(filePath))
            {
                using(var reader = new StreamReader(filePath, Encoding.UTF8))
                {
                    while(!reader.EndOfStream)
                    {
                        var line = reader.ReadLine();
                        Console.WriteLine($"{line}");
                    }
                }
            }
        }
    }
}

실제 test.txt 파일 내용

실행 결과

안녕하세요.  
파일 테스트 진행중입니다.  
저는 범범조조 입니다.  
감사합니다.^^
  • 위와 같이 실제 바탕화면에 저장되어 있는 text.txt 파일 내용과 StreamReader 클래스를 이용해서 읽어 들인 내용이 일치하는 것을 확인할 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY