728x90
BufferedReader
입력 스트림의 문자를 읽는 함수로, 문자들을 버퍼에 저장하고 읽기 때문에(모아뒀다가 한 번에 처리) 처리 속도가 매우 빠르다. Scanner의 기능과 유사하다. String 타입으로만 받을 수 있어 형변환이 필요하다.
관련 메서드
메서드 | 설명 |
.readLine() | 입력값을 한 줄로 받아 String으로 바꾼다. |
.read() | 문자 하나를 읽어 그에 해당하는 ASCII 10진수 int값으로 리턴 |
BufferedWriter
system.out.print의 기능과 유사하다. 처리 속도가 훨씬 빠르다.
관련 메서드
메서드 | 설명 |
.write() | 개행을 위해서는 .write("\n")을 써야한다. |
.newLine() | 개행을 함 |
.flush() | 모아둔 데이터를 모두 출력 |
.close() | 스트림 닫기 |
두 클래스의 메소드들은 입출력 에러가 발생하면 IOException을 던지도록 정의 되어있으므로 보통 메인함수에 throws IOExeption을 통해 예외처리를 한다.
코드 예시
import java.io.*; // readLine 및 vufferedReader, Writer를 이거 하나로 사용할 수 있음
public class Main {
public static void main(String[] args) throws IOException {
// BufferedReader,Writer를 사용하기 위해서는 throws IOException을 적어줘야 함.
// 두 클래스는 입출력에러가 발생하면 자체적으로 IOException이 발생하는데, 이를 미리 방지하는 것.
// 객체 생성
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out)));
String str = br.readLine(); // readLine 메서드는 입력값 한 줄을 스트링으로 받음
// 스트링 형식 지정해서 출력하기
bw.write(String.format("%s", 변수명 등))
728x90
'넓고 얕은 자료구조 & 알고리즘 > JAVA 알고리즘 문제를 위한 스킬' 카테고리의 다른 글
객체 정렬 - Comparator (0) | 2022.09.18 |
---|---|
Arrays.toString() (0) | 2022.09.18 |
System.arraycopy() (0) | 2022.09.18 |
.split() (0) | 2022.09.18 |
substring() (0) | 2022.09.02 |