반응형
BufferedReader
- Scanner : 통해 입력을 받을경우 Space Enter를 모두 경계로 인식.
- BufferedReader : Enter만 경계로 인식, 받은 데이터가 String으로 고정.
Scanner에 비해 다소 사용하기 불편하지만 많은 양의 데이터를 입력받을경우 BufferedReader로 입력받는 것이 효율적
1. 작업속도에 차이가 많이난다. ( 알고리즘의 효율성 검사에 유리1. readLine() 리턴값은 String으로 고정(다른타입으로 입력을 받을려면 형변환 필요)
2. 예외처리를 꼭 해주어야한다.(보편적으로 throws IOException을 통하여 예외처리)
(try & catch를 활용하여 예외처리 또한 가능) )
BufferedReader 사용 방법
1
2
3
|
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
String s = bf.readLine(); //String
int i = Integer.parseInt(bf.readLine()); //Int
|
readLine()으로 입력받을 때 주의할점이 두가지
1. readLine() 리턴값은 String으로 고정(다른타입으로 입력을 받을려면 형변환 필요)
2. 예외처리를 꼭 해주어야한다.(보편적으로 throws IOException을 통하여 예외처리)
(try & catch를 활용하여 예외처리 또한 가능)
Read한 데이터 가공
1
2
3
4
5
|
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 사용법
1
2
3
4
5
|
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//선언
String s = "abcdefg";//출력할 문자열
bw.flush();//남아있는 데이터를 모두 출력시킴
bw.close();//스트림을 닫음
|
BufferedWriter의 경우 반드시 flush() / close() 를 호출해 닫아주어야 한다.
자동 개행이 없기 때문에 \n 을 통해 개행을 해야 한다.
주요 Method
반응형
'JAVA > JAVA - API정리' 카테고리의 다른 글
Optional (0) | 2023.07.10 |
---|---|
[Java] 문자열 자르기 Substring 사용법 & 예제 (0) | 2020.02.02 |
[Java] 자료구조 & 입력 API(Stack / Queue / Deque / BufferedReader / StringBuffer / BigInteger) (0) | 2020.01.28 |