StreamTokenizer用来分隔字符串。
可以获取输入流并将其分析为Token(标记)。StreamTokenizer的nextToken方法将读取下一个标记。
功能
1、 将输入流分解成一组标记,允许一次读一个。分解过程由一张表和一些可以设置成各种状态的标志来控制。
2、读取的每个字节被认为是“\u0000”-“\u00FF”之间的字符。空格(“\u0000”-“\u0020”),字母(“A”-“Z”,“a”-“z”,“\u00A0”-“\u00FF”),数字,串引号(“,“),注释字符(“/”))。
3、做法:以一个InputStream作为源,创建一个StreamTokenizer对象,设置参数,循环调用nextToken,返回流中下一个标记的类型,并处理相关的值。
4、主要用于分析Java风格的输入;不是通用的标记分析器。 ttype域:nextToken后刚读取的标记类型。六种情况:
public static void main(String[] args) throws IOException
{
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
//PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
int a, b;
while(in.nextToken() != StreamTokenizer.TT_EOF)
{
a = (int)in.nval;
in.nextToken();
b = (int)in.nval;
//out.println(a + b);
System.out.println("a + b = "+(a+b));
}
out.flush();
}
}
原文:http://www.cnblogs.com/youhoo-IT/p/5132768.html