BufferedReader
- Scanner 와 유사
- 버퍼를 이용해서 읽는 함수, Scanner 보다 빠른 속도
- 버퍼가 가득차거나, 개행문자가 나타나면, 버퍼의 내용을 한번에 전송함
- String 으로 고정되어 입력 받음 , 데이터 가공이 필요함
※ 예외처리 필요함 main 클래스 옆에 throw IOException를 작성해야함
또는 try&catch 를 활용하여 예외처리도 가능
import java.io.*
BufferedReader br = new BufferedReader(new InputStreamReader( System.in));
String s = bf.readLine(); // Stirng
int i = Integer.parseInt(bf.readLine()); //Int
BufferedReader 의 readLine()을 사용하면 데이터를 라인 단위로 읽을 수 있다.
StringTokenizer(String str)
- 구획문자( delimiter)을 인자로 받지않는 생성자( 디폴트 구획문자로 공백문자를 가진다)
- 구획문자는 2자리 이상도 설정할 수 있다. 구획문자를(String delim) $% 라고 설정하면 $,%를 기준으로끊어준다.
- %%라고 설정하면 %를 기준으로 끊어준다. 즉 구획 문자는 길이가 1로 고정이고 길이가 2이상인 구획문자를 받으면 구획문자가 여러개가 된다.
* import java.util.* ;
<주요함수>
countTokens() : 토큰의 갯수를 리턴한다.
nextToken() : 다음 토큰을 리턴한다. 이전 토큰은 제거한다.
nextToken(String delim) : 구획문자를 delim으로 바꾼 후 바뀐 다음 토큰을 리턴한다.
hasMoreTokens() : 리턴할 다음 토큰이 있으면 true를 다음 토큰이 없으면 false를 리턴한다.
String str = " this is my String";
StringTokenizer st = new StringTokenizer(str, " ");
System.out.println(st.countTokens()); // 결과 4
while(st.hasMoreOkens()){
System.out.println(st.nextToken());
}
/* 결과
this
is
my
String
*/
System.out.println(st.countTokens()); // 결과 0
BufferedWriter
- System.out.pringtln()유사
* import java.io.*
import java.io.*;
BufferedWriter bw = new BufferedWriter( new FileWriter("bufferedWriter.txt"));
bw.writer("hello\n");//출력
bw.newLine(); // 개행 즉 엔터 역할
bw.writer("i am writing\n"); // 개행과 함께 출력
bw.flush(); // 남아있는 데이터를 모두 출력
bw.close(); // 스트림
버퍼를 이용하는 거기 떄문에 다 쓴 뒤에는 버퍼를 클린하게 해줘야 함.
flush()함수를 통해 버퍼에 남아있는 데이터를 출력해 없앤 후, 스트림을 닫아줘야 함
'Java&Spring' 카테고리의 다른 글
[ 디자인패턴 ] 디자인 패턴이란? (0) | 2025.01.09 |
---|---|
[Spring] AOP 관점지향 프로그래밍 (0) | 2023.04.04 |
[Spring] spring? (0) | 2023.04.04 |
댓글