c# 파일 읽기 예제

이 예제에서 사용되는 파일은 텍스트 파일에 쓰기 방법 이라는 항목에서 만들어집니다. 스트림 리더는 스트림을 사용하여 파일에서 데이터를 읽는 데 사용됩니다. 파일의 데이터가 먼저 스트림으로 읽습니다. 그 후 응용 프로그램은 스트림에서 데이터를 읽습니다. 따라서 파일에서 쓰기 작업이 수행되면 기록할 데이터가 먼저 스트림에 기록됩니다. 스트림에서 데이터가 파일에 기록됩니다. 읽기 작업도 마찬가지입니다. 읽기 작업에서 데이터는 먼저 파일에서 스트림으로 전송됩니다. 그런 다음 스트림을 통해 응용 프로그램에서 데이터를 읽습니다. 스트림을 사용하여 읽고 쓸 수 있는 방법에 대한 예를 살펴보겠습니다.

StreamReader를 사용하는 예제에서는 한 번에 한 줄의 텍스트 파일을 읽는 방법을 참조하세요. 이 예제에서는 전체 텍스트 파일을 문자열로 읽는 방법, 모든 줄을 문자열 배열로 읽는 방법 또는 메모리 사용량을 줄이기 위해 텍스트 파일 줄을 한 줄씩 읽는 방법을 보여 주며 있습니다. 다음 예제에서는 WPF(Windows 프레젠테이션 파운데이션) 앱에서 비동기 읽기 작업을 보여 주며 있습니다. 우리의 예를 들어, 우리는 간단한 콘솔 응용 프로그램을 만들고 파일 스트림으로 작업 이러한 코드 예제는 유니버설 윈도우 (UWP) 애플 리 케이 션에 대 한 개발에 적용 되지 않습니다., Windows 런타임 읽기 및 파일에 쓰기에 대 한 다른 스트림 형식을 제공 하기 때문에. UWP 앱의 파일에서 텍스트를 읽는 방법을 보여 주는 예제에서는 빠른 시작: 파일 읽기 및 쓰기를 참조하십시오. .NET Framework 스트림과 Windows 런타임 스트림 간에 변환하는 방법을 보여 주는 예제는 .NET Framework 스트림과 Windows 런타임 스트림 간에 변환하는 방법을 참조하세요. 이전 예제의 후드 아래를 살펴보겠습니다. 메서드 File.ReadAllText는 다음 코드와 유사하게 구현됩니다. using 문은 StreamReader.Dispose 메서드가 호출되도록 합니다. StreamReader의 삭제는 파일을 닫는 FileStream.Dispose 메서드를 호출합니다.

정적 클래스 파일과 그 방법 File.ReadAllText를 사용하여 문자열로 전체 텍스트 파일을 읽는 것은 매우 쉽습니다. 이 예제는 System.IO.File 클래스의 정적 메서드 ReadAllText 및 ReadAllLines를 사용하여 텍스트 파일의 내용을 읽습니다. 파일에서 데이터를 읽기 위해 스트림을 사용하는 방법의 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력합니다. StreamReader 클래스는 일련의 문자를 읽기 위한 판독기를 나타내는 추상 기본 클래스 TextReader에서 상속됩니다. 다음 표는 StreamReader 클래스의 일반적으로 사용되는 방법 중 일부에 대해 설명합니다 – 작은 청크로 분해하는 이유는 한 방에 큰 파일을 읽는 성능 영향 때문입니다. 한 번에 100MB 파일이라는 데이터를 읽는다면 응용 프로그램이 중단되어 불안정해질 수 있습니다. 가장 좋은 방법은 스트림을 사용하여 파일을 관리 가능한 청크로 분해하는 것입니다. File.ReadAllLines 메서드의 두면 이와 유사한 구현을 찾을 수 있습니다.

이전에 작성된 것처럼 using 문은 StreamReader 및 FileStream(파일을 닫는)을 삭제합니다. 대용량 텍스트 파일의 메모리 사용량을 줄이려면 이전 예제와 같이 목록에 추가하는 대신 줄을 즉시 처리할 수 있습니다. 이렇게 하려면 File.ReadLines를 사용합니다. 이 메서드는 내부적으로 열거체를 만듭니다.