
: String(문자열)을 Tokenizer(토큰화)
구분자를 이용하여 문자열을 분리할 때 사용한다.
만약 BufferedReader클래스의 메서드로 입력을 읽어들인다면 라인 단위로 읽어들일 수 밖에 없다.
꼭 BufferedReader 클래스가 아니더라도 스페이스/컴마/공백을 기준으로 문자열을 분리한다던가, 특정 문자에 따라 문자열을 나누고 싶을 때 StringTokenizer를 사용한다.
//1. 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열);
//2. 구분자를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer(문자열, 구분자);
/* 3. 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다. (true)
* 구분자를 분리된 문자열 토큰에 포함 시키지 않는다. (false)
* (디폴트 : false)
*/
StringTokenizer st = new StringTokenizer(문자열 , 구분자 , true/false);
//4. 여러 개의 구분자로 문자열을 분리
// 나는>여러개의:구분자 -> 나는 / 여러개의 / 구분자
StringTokenizer st = new StringTokenizer(str, ">:");

int countTokens() : 남아있는 토큰의 개수를 반환한다.
Object nextElement() : 다음 토큰을 Object 타입으로 반환한다.
boolean hasMoreElements() : 현재 위치 뒤에 사용할 수 있는 토큰이 남아 있는 경우 true, 그렇지 않으면 false를 반환한다.
boolean hasMoreTokens() : boolean hasMoreElements()와 같은 기능이다.
String nextToken() : 다음 토큰을 String 타입으로 반환한다.
둘 다 문자열을 파싱하는데 사용되지만 둘은 엄연히 다르다.
참고자료
https://www.javatpoint.com/string-tokenizer-in-java
https://dev-coco.tistory.com/94
https://ittrue.tistory.com/105