[JAVA] 데이터 입출력 방법 (Scanner vs BufferedReader & BufferedWriter 클래스)
2018. 7. 4. 13:24ㆍJAVA
데이터 입출력 방법
(Scanner vs BufferedReader & BufferedWriter 클래스)
① BufferedReader & BufferedWriter
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 | import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws Exception { // BufferedReader로 바로 입력받는 경우(한 줄에 숫자 하나만 있는 경우) int number = Integer.parseInt(br.readLine()); // StringTokenizer를 이용해서 token으로 입력받는 경우(한 줄에 공백을 구분자로 여러 문자들이 있는 경우) StringTokenizer st = new StringTokenizer(br.readLine(), " "); //한 줄씩 읽어서 토큰화 함 int number2 = Integer.parseInt(st.nextToken()); //int에 저장하기 위해 변환 String character = st.nextToken(); //숫자를 int로 쓰지 않을거면, //string으로 받아도 출력은 가능 bw.write(String.valueOf(number2)); //int 출력시, String으로 변환시켜줘야 함 bw.newLine(); //줄바꿈 bw.write(character); //String은 그냥 출력 가능 bw.newLine(); bw.flush(); //출려하려면, flush나 close를 써줘야 함 bw.close(); } } |
② Scanner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int number = sc.nextInt(); String character = sc.next(); String character2 = sc.nextLine(); System.out.println(number); System.out.println(character); } } | cs |
'JAVA' 카테고리의 다른 글
[JAVA] Annotation(어노테이션) 이란? (1) | 2018.07.12 |
---|---|
[JAVA] Collection(컬렉션) 이란? (0) | 2018.07.12 |
[JAVA] 클래스, 변수명 네이밍 규칙 (0) | 2018.07.06 |
[JAVA] 객체 지향 프로그래밍이란? (0) | 2018.07.06 |
[JAVA] String vs StringBuffer vs StringBuilder 비교 (0) | 2018.07.04 |