package chapter3;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class BufferedReaderex {
public static void main(String[] args) throws IOException {
//스캐너처럼 br로 선언
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//nextLine();같은것
String str=br.readLine();
//System.out.println(str);과 같이쓰려면
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
bw.write(str);//write로 버퍼에 입력
bw.flush();//flush로 출력후 버퍼를 비움
br.close();
bw.close();
}
}
쓰기 복잡한데 이것이 컴퓨터에서는 더 빠르게 입 출력이 가능하다
문제를 푸는데 이것도 필요한것같아서 더 추가기술함
StringTokenizer st(변수명) = new StringTokenizer(문자열[,구분자][,true/false] );
[]안에는 생략가능한것을 넣었다
(문자열); 만 할시 띄어쓰기 기준으로 문자열을 분리하고
(문자열,구분자);를 할 시 구분자를 기준으로 문자열을 분리한다
ex) (br.readLine(),"1");
br.readLine()으로 입력한 문자열을 "1" 1 기준으로 문자열을 분리
(문자열,구분자,true/false); 를 할시엔 구분자를 기준으로 문자열을 분리하지만
구분자도 분리한것에 포함 시킬지의 유무이다
-기본값은 false로 되어있음
ex) (br.readLine(),"ㅡ",true);
123
ㅡ
456
ㅡ
이런식으로 ㅡ도 포함돼서 총 4개로 분리된다
만든토큰은 nextToken()을 이용해서 받아올수있고 한개씩받아온다
이때 nextToken()의 타입은 String이고
nextToken(String 문자열에 썻던 값) 을 통해 내가 뽑고자하는것도 갖고올수있다(썻던값을 입력하면 그다음이 선택됨)
남아있는 토큰이 있나 검사하는 방법은 hasMoreTokens(); 를 사용하면되고 True와 False로 나온다
토큰의 총개수를 구하는건 countTokens()가 있다