본문 바로가기

Study/Java

BufferedReader vs Scanner

BufferedReader와 Scanner는 기본적인 기능은 같죠.. 파일이나 키보드로 정보를 입력받을수 있다는..

하지만 가지고 있는 기능은 Scanner가 훨씬 많죠..

BufferedReader의 경우 파일이나 키보드로 입력받은 정보는 read 혹은 readLine로 읽어올수 있습니다.

read는 읽어온 값을 int로 readLine은 String으로 반환하죠..

Reader에서 없는 readLine이 있어 한라인을 전부 읽어올수 있는건 편하지만 입력된 정보가 int든 double이든 상관없이 무조건 String으로 입력을 받죠..

Scanner는 JDK1.5에서 추가된 클래스로 기본적인 BufferedReader을 가지고 있으면서 그외에 여러 편리한 기능을 가지고 있죠..

예를 들어 패턴을 지정해서 지정된 패턴의 값만을 읽어 올수도 있으며 int. dobule등의 형으로 읽어올수도 있습니다.

API에 있는 몇개의 메소드를 보죠..

hasNextInt(), hasNextDouble()와 같은 형식의 메소드들은 읽어올 값이 무슨형인지 체크할수 있습니다.

nextInt(), nextLong()와 같은 형식의 메소드들은 읽어들이는 값을 String이 아닌 형식으로 자동으로 변환해줍니다.

next(Pattern pattern)같은 경우는 설정된 패턴과 일치하는 데이터를 검색해서 가져올수도 있습니다.

이렇듯 BufferedReader에 비해 Scanner는 강력한 여러 기능들이 추가된 클래스입니다.

JDK의 버젼이 조금더 올라가면 BufferedReader가 비추천이 되고 Scanner로 바뀔지도 모르겠네요.. ^^

Scanner에는 위에서 설명한 메소드이외에도 사용할만한 메소드가 많으니 한번쯤 API를 보는것도 나쁘지 않을꺼 같네요..

원문  : http://down.file.naver.com/howpc/kin.nhn?m=read&section=read&docid=9630935&page=493


'Study > Java' 카테고리의 다른 글

missing artifact org.jboss.netty  (0) 2012.07.12
java 디자인 패턴  (0) 2012.07.06
java.net.ConnectException: Connection timed out: connect  (0) 2012.04.03
Failed to create the java virtual machine  (0) 2011.09.12
java sqlite jdbc eclipse build path  (0) 2011.07.14
Java sqlite jdbc  (0) 2011.07.14