티스토리 뷰

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31