코드일기장

Java_BufferedReader /BufferedWrite 본문

Java

Java_BufferedReader /BufferedWrite

codeStudy123 2021. 10. 6. 12:31

BufferedReader

:Scanner와 유사.

Bufferedwriter

:System.out.println();과 유사

 

BufferedReader와 BufferedWrite를 사용하는 이유는 Scanner로 입력받고 println()으로 출력하는 것보다 코드가 훨씬 빨라지기 때문이다. Buffered는 사용하기 까다롭고 번거롭지만 백준 알고리즘 혹은 코딩테스트를 할 때 사용하는 것 같다.

 

 


  • BufferedReader, BufferedWrite를 사용하기 전

import java.io.*;

import를 해줘야한다.


 

 

  • BufferedReader사용

BufferedReader는 값을 입력받기 위한 수단이다. 

BufferedReader 참조변수 br 선언

참조 변수 br선언 후 new BufferedReader(new InputStreamReader(System.in)); 외워두자!

 

 

readLine()은 입력받기 위한 메서드이다.

String값은 br.redaLine() 바로 하면 되지만, String이 아닌 타입은 반드시 형변환을 해줘야 한다.

 

*BuffereReader사용 시 주의할 점*

첫 번째는 readLine()시 리턴 값을 String으로 고정되기에 String이 아닌 다른 타입으로 입력을 받으려면 형변환을 꼭 해주어야 한다는 점이다.

두 번째는 예외처리를 꼭 해주어야 한다는 점이다. readLine을 할 때마다 try & catch를 활용하여 예외처리를 해주어도 되지만 대개 throws IOException을 통하여 작업한다.

 

throw IOException 작업하는 법

(1) 클래스를 import해주어야 한다.

import java.io.IOException;

(2) main 클래스 옆에 throws IOException를 작성한다.

public static void main(String[] args) throws IOException { }

 

 


이것은 더 공부 한 후 설명하겠다.

 

 

br.readLine이 아닌 st.nextToken()

 


 

  • BuffereWriter 사용

BufferedWriter bout참조변수 선언

BufferedWriter 의 경우 반드시 flush() / close() 를 반드시 호출해 주어 뒤처리를 해주어야 한다. (마지막에 꼭 첨가)

println()같이 줄 바꿈 기능을 가지고 있는 메서드가 없어서 "\n"으로 줄바꿈을 해야한다.

 

 

 

 

초보들을 위한 Buffered 백준 문제

https://www.acmicpc.net/problem/15552

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

 

Comments