본문 바로가기
> JAVA/Class 클래스

[Java] 2019.09- [Class] BufferedReader

by bky373 2020. 9. 22.

 

BufferedReader

 

이번에 알아볼 클래스는 BufferedReader다!

Oracle API에서는 매우 간단하게? 정리돼있는데 어떻게 설명하고 있는지 살펴보겠다

급하다면 아래 요약 부분을 참고하자!


생성자, 메소드 등에 대한 설명은 빼고

우선 BufferedrReader클래스가 본질적으로 가지고 있는 속성이나 특징 등을 살펴보려 한다.

 

 


public class BufferedReader extends Reader

Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.

> 문자 입력 스트림에서 텍스트를 읽는다, 이때 문자나 배열, 행들을 더 효율적으로 읽기 위해서 문자들을 버퍼링한다.

The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.

> 버퍼 사이즈는 지정할 수 있고, 혹은 기본값이 사용될 수 있다. 기본값은 대부분 사용에 불편하지 않을 정도로 큰 편이다.

In general, each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream.

> 일반적으로 Reader로 작성된 read 요청은 해당 read 요청이 기본 문자나 바이트 스트림으로 이루어지도록 한다.

It is therefore advisable to wrap a BufferedReader around any Reader whose read() operations may be costly, such as FileReaders and InputStreamReaders.

> 따라서 FileReader나 InputStreamReader 같이 read() 작업에 비용이 많이 드는 Reader라면 그 주위에 BufferedReader를 랩핑하는 것이 좋다.

 

For example,

> 예를 들어,

BufferedReader in = new BufferedReader(new FileReader("foo.in"));

 

will buffer the input from the specified file.

> 위 실행문은 지정된 파일로부터 input값을 받아 버퍼링한다.

Without buffering, each invocation of read() or readLine() could cause bytes to be read from the file, converted into characters, and then returned, which can be very inefficient.

> 버퍼링이 없다면, read()나 readLine()을 실행할 때마다 파일에서 바이트를 읽고, 문자형태로 변환한 다음 리턴하는데 별로 효율적이지 않다.

Programs that use DataInputStreams for textual input can be localized by replacing each DataInputStream with an appropriate BufferedReader.

> 텍스트 입력을 받는 DataInputStream을 사용하는 프로그램들은 각 DataInputStream을 BufferedReader로 적절하게 대체하여 사용할 수 있다.

Since:

1.1

See Also:

FileReader,InputStreamReader,Files.newBufferedReader(java.nio.file.Path, java.nio.charset.Charset)




*** 요약 ***

 

BufferedReader는 이름 그대로문자입력 스트림에서

문자들을 읽어 버퍼링시키는유형의 클래스이다.

문자들을 *효율적으로 읽는 녀석으로

이와 관련한 여러 **메소드들을 지원한다.

 

 

*FileReader나 InputStreamReader 같이 read() 작업에 비용이 많이 드는 Reader라면 그 주위에 BufferedReader를 랩핑하는 것이 좋다.

예) BufferedReader in = new BufferedReader(new FileReader("foo.in"));

 

** 대표적으로 readLine()(String 반환) / read()(int반환) / lines()(Stream<String> 반환) 등이 있다.


 

출처 : https://docs.oracle.com/en/java/javase/12/docs/api

 

'> JAVA > Class 클래스' 카테고리의 다른 글

[Java] 2019.09- [Class] ArrayList<E>  (0) 2020.09.20
[Java] 2019.09- [Class] StringBuffer  (0) 2020.09.20
[Java] 2019.09- [Class] StringBuilder  (0) 2020.09.20

댓글