BufferedReader은 이름처럼 버퍼를 이용해서 읽는 함수다.

Sanner함수보다 입출력 효율이 훨씬 좋다.

 

BufferedReader 사용방법

다음은 입력받은 데이터를 공백단위로 나눠 출력하는 예제이다.

 

readLine()은 데이터를 라인 단위로 읽는다.

readLine 메소드는 IOException을 발생시킬 수 있수 있으므로 꼭 IOException 처리를 해줘야한다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main{

  public static void main(String[] args)  throws IOException  {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

      StringTokenizer st = new StringTokenizer(br.readLine()," ");// 공백으로 있는 데이터를 순서대로 받음

      while(st.hasMoreTokens()) { // 다음 토큰 존재 확인
          int result = Integer.parseInt(st.nextToken());  // BufferedReader에 readLine함수는 리턴값이 String으로 형변환 반드시 해줘야함
          System.out.println(result);
      }

  }

}

* readLine을 사용해 데이터를 라인 단위로 읽을때 데이터를 공백 단위로 나누고 싶은 경우

StringTokenizer 클래스의 nextToken함수나 String클래스의 split함수를 이용한다.

 

StringTokenizer클래스

문자열을 지정한 구분자로  쪼개주는 클래스.

쪼개진 문자열을 토큰이라고 한다.

- hashMoreTokens() : 다음 토큰 존재 확인

- nextToken() : 다음 토큰 받아오기

 

 

결과값 확인

 

 

BufferedReader에 대한 자세한 설명은 아래 참고한 사이트에 잘 나와있다.

참고 사이트 : jhnyang.tistory.com/92

 

[Java 자바 입출력] BufferedReader/BufferedWriter

[자바 입출력 함수] BufferedReader / BufferWriter BufferedReader/BufferedWriter은 이름처럼 버퍼를 이용해서 읽고 쓰는 함수입니다. 이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이..

jhnyang.tistory.com

 

'프로그래밍&IT > java' 카테고리의 다른 글

[Java 자바] toString()과 String.valueOf() 비교  (0) 2021.07.12
[Java 자바] JSON 파싱  (0) 2021.05.04
[Java 자바] HashMap  (0) 2021.04.19
[Java 자바] HashMap의 getOrDefault()  (0) 2021.04.19
[Java 자바] chatAt()  (0) 2021.04.17

+ Recent posts