StreamTokenizer
* java.io.StreamTokenizer
- 토큰으로 나눔으로써 Reader를 분석하도록 도와주는 유틸리티 클래스
- Reader로부터 반환된 각각의 화이트 문자(공백)로 분리된 문자열을 요청할수 있다.
- 단어단위로 반환하는 것으로 생각할 수 있다.
- Reader 에 끝이 있다면 차례로 반환상태를 토큰으로 분석하고
StreamTokenizer클래스의 public속성으로 유효한 값을 만든다.
*
//스트림의 끝(EOF)에 도달할 때까지 각각의 토큰을 읽는다.
//StreamTokenizer의 public속성인 sval에 접근, StreamTokenizer에 의해 읽혀진 String값을 검색한다.
import java.io.Reader;
import java.io.FileReader;
import java.io.StreamTokenizer;
public class StreamTokenizerEx {
public static void main(String[] args) {
try {
Reader r = new FileReader("in.txt");
StreamTokenizer st = new StreamTokenizer(r);
while(st.nextToken() != StreamTokenizer.TT_EOF) {
System.out.println(st.sval);
}
r.close();
}
catch(Exception e) {
e.printStackTrace();
}
}
}
*
같은 폴더안에 in.txt라는 파일을 만들고 내용을 입력한다.
띄어쓰기를 포함한 한 문장을 입력해보자.
┌ TT_EOF : 스트림의 끝을 읽었다는 것을 나타낸다.
├ TT_EOL : 라인의 끝을 읽었다는 것을 나타낸다.
├ TT_NUMBER : 숫자 토큰을 읽었다는 것을 나타낸다.
└ TT_WORD : 워드 토큰을 읽었다는 것을 나타낸다.