Scanner()
로 입력 값을 넣어줌.BufferedReader()
BufferedWriter()
출력 함수도 같이 공부 Scanner VS BufferdReader : 속도의 차이
BufferdReader가 빠른 이유 = 입력된 데이터가 Buffer를 거쳐 전달 된다.
❓Buffer를 거쳐서 전달 되는데 왜 더 빠르지?
import java.io.BufferedReader;
import java.io.InputStreamReader;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
readLine()
함수
-> br.readLine()
⭐ 입력 받기 주의⭐
2-1. return 값이 String으로 고정되어 있다. -> 필요 시 형변환 하기
2-2. 예외 처리를 꼭 해줘야 한다.
import java.io.IOException;
main class 옆에 throws IOException
❓예외 처리를 꼭 해줘야하는 이유?
3-1. 입력 받은 문자를 숫자로 변환
Integer.parseInt();
3-2. 입력받은 문자를 특정 문자 기준으로 자르기 (대표적인 방법 2개)
String.split()
: 문자열 함수 이용
반환이 무조건 String[]
StringTokenizer()
-> 선언 후 사용
StringTokenizer st = new StringTokenizer();
StringTokenizer 생성자에 입력 받을 문자를 넣은 후
nextToken()
함수로 하나씩 가져와 사용 가능!!!
⭐공백이 아닌 특정 문자를 기준으로 자르고 싶을 때⭐
StringTokenizer st = new StringTokenizer(문자열, "자를 문자");
❓ br.close();
-> 더 공부하기!
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
.write(); -> Buffer에 있는 값 전부 출력
.flush(); -> 남아있는 데이터를 모두 출력 (마지막에 한번만!)
.close(); -> 스트림을 닫음 (마지막에 한번만!)
⭐ System.out.println() 처럼 자동 개행 기능 x -> \n
사용
❓부분 채우기
1. Buffer를 거쳐서 전달 되는데 왜 더 빠르지?
2. 예외 처리를 꼭 해줘야하는 이유?
3. BufferedReader는 close를 안해줘도 된다?
+ 예제도 넣기!