最近学习了StreamTokenizer类的使用,这个类的读入非常迅速,它可以获取输入流并将其分析为Token(标记)。在实际使用过程中,发现以下问题:
当输入的字符串为数字时,该串不会被读取。查阅资料后得知sval读取的是被定界符所包围的单词,单词是由一个单词要素后面跟着0个或者更多个单词要素或者数字要素组成的,而数字不是单词要素,例如,添加单词要素后:
所以我们得先将数字转化为单词要素后再读入,由此得到以下代码:
in.ordinaryChars('0', '9') ;
in.wordChars('0', '9');
以上是我想到的解决方法,如有不足希望大家可以及时指出。