티스토리 뷰
BufferedReader/BufferedWriter
버퍼를 이용해서 읽고 쓰는 함수.
버퍼를 이용하기 때문에 입출력 효율이 좋아짐.
-> 외부로 부터 입력이 즉각적으로 프로그램에 전달되는것 보다는 어떤 그릇에 담아 한번에 모아서 전송하기 때문.
사용법
BufferedReader 선언 후 readLine() 메소드를 이용해 데이터를 라인 단위로 읽어옴.
readLine()의 리턴 값은 String으로 고정되기에 다른 타입으로 입력을 받으려면 형 변환을 해주어야 한다.
BufferedWriter의 경우 버퍼를 잡아 놓았기 때문에 반드시 flush()를 통해 버퍼에 남아있는 데이터를 모두 출력하고, close()를 호출해 스트림을 닫아야 한다.
bw.write에는 System.out.println();과 같이 자동 개행 기능이 없기 때문에 개행을 해주어야 할 경우에는 \n를 통해 따로 처리해 주어야 한다.
* 예외처리는 필수
BufferedReader 사용을 위해 throws IOException 이용하거나 try & catch를 활용해 예외처리를 해주어야한다.
아래 코드는 throws IOException 이용한 경우
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
//ctrl+shift+o
public class Main {
public static void main(String[] args) throws IOException {
//Scanner sc = new Scanner(System.in);
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int cnt = Integer.parseInt(bf.readLine());
for(int i=0;i<cnt;i++) {
st = new StringTokenizer(bf.readLine());
bw.write((Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken()))+"\n");
}
bw.close();
}
}
|
cs |
'IT > JAVA' 카테고리의 다른 글
[java] 두 원의 접점 갯수 찾기 (0) | 2021.11.25 |
---|---|
[java] 소수점 자르기 (0) | 2021.11.25 |
ORACLE/JAVA/이전 버전 JDK설치/JDK1.6/JDK1.7/JDK1.8 (0) | 2019.12.23 |
[JAVA] 예제:EQUALS() 만들기 (0) | 2017.07.14 |
[JAVA] 객체 비교 (0) | 2017.07.14 |
댓글