suyeonme

[Java] BufferedReader/BufferedWriter 본문

프로그래밍👩🏻‍💻/Java

[Java] BufferedReader/BufferedWriter

suyeonme 2022. 8. 7. 14:47

BufferedReader/BufferedWriter란?


BufferedReader/BufferedWriter는 버퍼(buffer)를 사용하여 읽기/쓰기를 하는 함수로, 입력된 데이터를 바로 전달하지 않고 버퍼에 저장해두었다가 한번에 전달한다.

 

외부 장치와 데이터 입출력시, 입출력시마다 데이터를 이동시키는 것보다 메모리 버퍼에 데이터를 저장하고 묶어서 한번에 이동시키는 것이 더 효율적이다.

 

 

Scanner vs BufferedReader

Scanner

  • space, enter를 경계로 입력값을 인식
  • 데이터를 따로 가공하지않아도 된다.

BufferedReader

  • enter만 경계로 입력값을 인식
  • 데이터가 String으로 고정되어 추가적인 가공(데이터를 구분하여 나누는)이 필요하다.
데이터의 양이 많은 경우, BufferedReader 클래스가 속도측면에서 더 빠르고 효율적이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 예외 처리 필수: IOException
public static void main(String[] args) throws IOException {
  // 콘솔에서 입력받기
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  
  // 입력값이 Integer인 경우 형변환 필요
  int num = Integer.parseInt(br.readLine());
  
  // enter를 경계로 라인단위로 입력받기
  String str = bf.readLine();

  // 입출력이 끝난다음 닫기
  br.close();
 
  // space를 경계로 구분하기
  String arr[] = str.split(" ");
}

 

'프로그래밍👩🏻‍💻 > Java' 카테고리의 다른 글

[Java] Boxing, Unboxing이란?  (0) 2023.03.01
[Java] Servlet이란?  (1) 2022.10.11
[Java] Array, ArrayList  (0) 2022.06.06
[Java] Scanner란?  (0) 2022.06.05
[Java ] Bean Class란?  (0) 2022.06.04
Comments