对于StringTokenizer类是用来把一个多词的字符按照我们的意愿拆分成我们需要的字符段,它包含在java.util包中,先看下面的一段代码

StringTokenizer wordDemo = new StringTokenizer("A 
                           single word can be critical");
        while(wordDemo.hasMoreTokens())
        {
            System.out.println(wordDemo.nextToken());
        }

输出的样例是

A
single
word
can
be
critical.

StringTokenizer会自动以空格为标志来分割对应的字符串,同时对分割好的每个字符段进行标记,使用nextToken方法的时候可以返回对应的标记的字符段,当程序在nextToken方法返回完它的所有的标记之后再调用它,程序会停止运行并发出一则错误的消息。

而使用了hasMoreTokens方法返回一个boolean类型的值,当读完所有的标记的字符串后,它就会返回一个false值,此时就会停止调用nextToken值。(nextToken方法也就不会报错了)

同时我们也可以使用指定的方式来分割字符串,例如下面的代码

StringTokenizer wordDemo = new StringTokenizer("Give me 
                        the word,my friend.", ",");
        while(wordDemo.hasMoreTokens())
        {
            System.out.println(wordDemo.nextToken());
        }

输出的是这样的

Give me the word
my friend.

在StringTokenizer的后面的一个引号中输入对应的符号,如” ” “,”
“.” “\n”等等,会根据相对应的符号对字符串进行分割。

这些可以运用到读取文件的时候使用BufferedReader类中使用读取数字的时候使用,由于BufferedReader类无法读取数字,需要读取字符然后使用对应的方法转换成数字。

比如文件中一行只有一个数字的时候使用readLine读后使用Integer.parseInt, Double.parseDouble等一些类似的方法进行转换成数字,而当文件中有一行数字的时候就可以使用StringTokenizer类来解决了。