"안녕하세요, 아미고! 오랫동안 BufferedReaderInputStreamReader 클래스를 사용해 왔습니다 . 이제 이들이 실제로 무엇을 하는지 살펴보겠습니다."

InputStreamReader 클래스는 InputStream 인터페이스에서 Reader 인터페이스로 클래식 어댑터입니다 . 여기에도 추가할 것이 없습니다.

그러나 요컨대 이것은 일어나는 일입니다. InputStreamReader 객체 에서 다음 문자를 요청(읽기)하면 생성자에게 전달된 InputStream 에서 몇 바이트를 읽고 하나의 문자로 반환합니다.

그러나 Reader는 작업하기에 가장 편리한 개체가 아닙니다. 종종 우리에게 필요한 것은 사용자가 입력한 모든 문자를 한 번에 읽는 것이 아니라 이러한 문자를 줄로 나누는 것입니다.

"하지만 Reader 클래스에는 읽기 (CharBuffer s) 메서드가 있습니다. 우리는 그것을 사용할 수 없습니까?"

"이 메서드는 버퍼 크기의 청크로 데이터를 읽고 CharBuffer 개체에 배치합니다."

텍스트는 일반적으로 줄로 나뉩니다. 따라서 read(CharBuffer s) 메서드는 한 번에 여러 줄을 읽을 수 있습니다. 줄 끝까지 정확히 텍스트를 읽어야 하는 경우(즉 줄 바꿈 문자까지 한 줄의 모든 문자) 다른 것을 찾는 것이 좋습니다. 그리고 대체 방법이 존재합니다. BufferedReader 클래스 에서 .

Reader 위에 있는 편리한 구조인 BufferedReader 클래스에는 readLine()이라는 매우 편리한 메서드 가 있습니다 . 이 방법을 사용하면 Reader에서 전체 텍스트 줄을 한 번에 읽을 수 있습니다. 코드에서 readLine을 호출하면 개행 문자를 만날 때까지 Reader 개체에서 문자를 읽습니다. 줄 바꿈 문자를 만나면 메서드는 이러한 문자를 단일 문자열에 함께 붙여서 반환합니다.

"정기적으로 사용했는데 어떻게 하는지 몰랐어요. 이제 알겠어요. 고마워요, 김."