StreamReader 클래스

2013-12-13

특정 인코딩의 바이트 스트림에서 문자를 읽는 TextReader를 구현합니다.

Namespace:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public class StreamReader : TextReader

StreamReader 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드StreamReader(Stream)지정된 스트림에 대한 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(String)지정된 파일 이름에 대한 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(Stream, Boolean)지정한 바이트 순서 표시 검색 옵션을 사용하여 지정된 스트림으로 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(Stream, Encoding)지정된 문자 인코딩을 사용하여 지정된 스트림으로 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(String, Boolean)지정한 바이트 순서 표시 검색 옵션을 사용하여 지정한 파일 이름에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(String, Encoding)지정된 문자 인코딩을 사용하여 지정된 파일 이름에 대한 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(Stream, Encoding, Boolean)지정된 문자 인코딩과 바이트 순서 표시 검색 옵션을 사용하여 특정 스트림에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(String, Encoding, Boolean)지정한 문자 인코딩과 바이트 순서 표시 검색 옵션을 사용하여 특정 파일 이름에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(Stream, Encoding, Boolean, Int32)지정된 문자 인코딩과 바이트 순서 표시 검색 옵션을 사용하여 특정 스트림에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(String, Encoding, Boolean, Int32)지정된 문자 인코딩과 바이트 순서 표시 검색 옵션을 사용하여 특정 파일 이름에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
Public 메서드StreamReader(Stream, Encoding, Boolean, Int32, Boolean)지정된 문자 인코딩, BOM(바이트 순서 표시) 검색 옵션, 버퍼 크기 및 스트림을 열어 둘 것인지를 지정하는 값을 사용하여 특정 스트림에 대해 StreamReader 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 속성BaseStream내부 스트림을 반환합니다.
Public 속성CurrentEncoding현재 StreamReader 개체에서 사용 중인 현재 문자 인코딩을 가져옵니다.
Public 속성EndOfStream현재 스트림 위치가 스트림의 끝에 있는지 여부를 나타내는 값을 가져옵니다.
맨 위

  이름설명
Public 메서드CloseStreamReader 개체와 내부 스트림을 닫고 판독기와 관련된 모든 시스템 리소스를 해제합니다. (TextReader.Close()을(를) 재정의함)
Public 메서드DiscardBufferedData내부 버퍼를 지웁니다.
Public 메서드Dispose()해당 TextReader 개체에서 사용하는 리소스를 모두 해제합니다. (TextReader에서 상속됨)
Protected 메서드Dispose(Boolean)내부 스트림을 닫고 StreamReader에서 사용하는 관리되지 않는 리소스를 해제하고 관리되는 리소스를 선택적으로 해제합니다. (TextReader.Dispose(Boolean)을(를) 재정의함)
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드Peek사용할 수 있는 다음 문자를 반환하지만 사용하지는 않습니다. (TextReader.Peek()을(를) 재정의함)
Public 메서드Read()입력 스트림에서 다음 문자를 읽고 문자 위치를 한 문자씩 앞으로 이동합니다. (TextReader.Read()을(를) 재정의함)
Public 메서드Read(Char[], Int32, Int32)현재 스트림에서 최대 count 문자를 읽고 이 데이터를 index에서 시작되는 buffer에 씁니다. (TextReader.Read(Char[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadAsync현재 스트림에서 지정된 최대 개수의 문자를 비동기식으로 읽은 후 데이터를 지정된 인덱스부터 시작해서 버퍼에 씁니다. (TextReader.ReadAsync(Char[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadBlock현재 스트림에서 지정된 최대 개수의 문자를 읽은 후 데이터를 지정된 인덱스부터 시작해서 버퍼에 씁니다. (TextReader.ReadBlock(Char[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadBlockAsync현재 스트림에서 지정된 최대 개수의 문자를 비동기식으로 읽은 후 데이터를 지정된 인덱스부터 시작해서 버퍼에 씁니다. (TextReader.ReadBlockAsync(Char[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadLine현재 스트림에서 한 줄의 문자를 읽고 데이터를 문자열로 반환합니다. (TextReader.ReadLine()을(를) 재정의함)
Public 메서드ReadLineAsync현재 스트림에서 비동기적으로 한 줄의 문자를 읽고 데이터를 문자열로 반환합니다. (TextReader.ReadLineAsync()을(를) 재정의함)
Public 메서드ReadToEnd현재 위치에서 끝까지 스트림을 읽습니다. (TextReader.ReadToEnd()을(를) 재정의함)
Public 메서드ReadToEndAsync현재 위치부터 스트림 끝까지의 모든 문자를 읽어서 이를 하나의 문자열로 반환합니다. (TextReader.ReadToEndAsync()을(를) 재정의함)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

  이름설명
Public 필드정적 멤버Null빈 스트림 주위의 StreamReader 개체입니다.
맨 위

StreamReader는 특정 인코딩으로 입력된 문자를 읽도록 설계된 반면 Stream 클래스는 입력 및 출력된 바이트를 읽도록 설계되었습니다. StreamReader를 사용하여 표준 텍스트 파일에서 정보 줄을 읽습니다.

별도로 지정하지 않으면 StreamReader는 기본적으로 현재 시스템의 ANSI 코드 페이지 대신 UTF-8 인코딩으로 지정됩니다. UTF-8은 유니코드 문자를 정확하게 처리하고 운영 체제의 지역화된 버전에 대한 일관성 있는 결과를 제공합니다.

기본적으로 StreamReader는 스레드로부터 안전하지 않습니다.

Write(Char[], Int32, Int32)Read(Char[], Int32, Int32) 메서드는 count 매개 변수에 지정된 문자 수를 읽고 씁니다.

참고참고:

Stream에서 읽어올 때 스트림의 내부 버퍼와 동일한 크기인 버퍼를 사용하는 것이 보다 효율적입니다.

다음 예제에서는 StreamReader 개체를 사용합니다. StreamReader 개체는 사용자의 내 문서 폴더에서 파일 내용을 읽고 텍스트 상자 컨트롤(inputData라 함)에 콘텐츠를 표시합니다.

파일 콘텐츠를 저장하는 방법을 보여 주는 예제는 StreamWriter 클래스를 참조하세요. 이 샘플 코드를 컴파일하고 실행하는 방법을 보려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


private void OpenFile_Click(object sender, RoutedEventArgs e)
{

	// fileLoc is a global string variable.
	fileLoc = System.IO.Path.Combine(Environment.GetFolderPath(
		Environment.SpecialFolder.MyDocuments), "MyDoc.txt");

	// Create the file if it does not exist.
	if (!File.Exists(fileLoc))
	{
		using (StreamWriter swNew = new StreamWriter(fileLoc))
		{
			swNew.WriteLine("Sample text");
		}
	}

	// Display the contents in a TextBox.
	using (StreamReader sr = new StreamReader(fileLoc))
	{
		inputData.Text = sr.ReadToEnd();
		inputData.Visibility = Visibility.Visible;
	}
	
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

표시:
© 2014 Microsoft