본문 바로가기

개발일지/Java + Spring

[Java] InputStream, BufferedReader, Scanner 차이

 

코딩테스트를 하다보면 나오는 버퍼드리더(BufferedReader)

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 

그 안에 들어 있는 new InputStreamReader(System.in)는 왜 있는 걸까?

이 물음에 해답이 될 만한 게시글을 가지고 왔습니다.

 

 

[Java] 콘솔 입력 - InputStream, BufferedReader, Scanner

하던 일만 하다 보면 범위 밖에 있는 기초적인 내용은 어느새 잊어버리게 됩니다. 이번에는 Stream으로 입력을 받아오려다 크게 헤매서 정리해보려고 합니다. 1. InputStream 1996년 JDK 1.0에서 도입된

makemethink.tistory.com

 

 

InputStream in = System.in;
InputStreamReader rd = new InputStreamReader(in); 
BufferedReader br = new BufferedReader(rd);

// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 

 

원래는 위처럼 차곡차곡 쌓아야 하지만 번거로우니 한 줄에 다 때려 넣었다고 생각하시면 되겠습니다. 점점 발전하면서 Scanner라는 쉽고 유용한 클래스가 생겼지만, 버퍼드리더(BufferedReader)의 경우 많은 양의 데이터를 입력 받을 시에는 Scanner보다 메모리 사용면에서 더욱 효율적이랍니다!