반응형
BufferedReader
- Scanner : 통해 입력을 받을경우 Space Enter를 모두 경계로 인식.
- BufferedReader : Enter만 경계로 인식, 받은 데이터가 String으로 고정.
Scanner에 비해 다소 사용하기 불편하지만 많은 양의 데이터를 입력받을경우 BufferedReader로 입력받는 것이 효율적
1. 작업속도에 차이가 많이난다. ( 알고리즘의 효율성 검사에 유리1. readLine() 리턴값은 String으로 고정(다른타입으로 입력을 받을려면 형변환 필요)
2. 예외처리를 꼭 해주어야한다.(보편적으로 throws IOException을 통하여 예외처리)
(try & catch를 활용하여 예외처리 또한 가능))
BufferedReader 사용 방법
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
String s = bf.readLine(); //String
int i = Integer.parseInt(bf.readLine()); //Int
1. readLine() 리턴값은 String으로 고정(다른타입으로 입력을 받을려면 형변환 필요)
2. 예외처리를 꼭 해주어야한다.(보편적으로 throws IOException을 통하여 예외처리)
(try & catch를 활용하여 예외처리 또한 가능)
Read한 데이터 가공
StringTokenizer st = new StringTokenizer(s); //StringTokenizer인자값에 입력 문자열 넣음
int a = Integer.parseInt(st.nextToken()); //첫번째 호출
int b = Integer.parseInt(st.nextToken()); //두번째 호출
String array[] = s.split(" "); //공백마다 데이터 끊어서 배열에 넣음
1. StringTokenizer에 nextToken()함수를 통한 공백 단위의 구분.
2. String.split 함수를 활용
BufferedWriter
출력양이 많을 경우 Buffer를 활용해주는것이 효율적이다.
BufferedWriter 사용 방법
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//선언
String s = "abcdefg";//출력할 문자열
bw.write(s+"\n");//출력
bw.flush();//남아있는 데이터를 모두 출력시킴
bw.close();//스트림을 닫음
BufferedWriter의 경우 반드시 flush() / close() 를 호출해 닫아주어야 한다.
자동 개행이 없기 때문에 \n 을 통해 개행을 해야 한다.
주요 Method
반응형
'Java' 카테고리의 다른 글
[JAVA] JVM의 메모리 구조 (0) | 2021.05.28 |
---|---|
[JAVA] 구조체란? (0) | 2021.05.28 |
[Java] StringTokenizer 사용법, 예제 (0) | 2021.05.27 |
[JAVA] BufferedReader 와 BufferedWriter 사용법 (0) | 2021.05.27 |
Java 슬래쉬, 백슬래쉬, 작은 따옴표, 큰따옴표 출력 (0) | 2021.05.14 |