/*
wordChars( )方法用来指定可以用于字的字符范围。它的通常形式如下:
//Enhanced word count program that uses a StreamTokenizer.
import java.io.*;
class STWordCount{
public static int intWords = 0;
public static int intLines = 0;
public static int intChars = 0;
public static void wc(Reader r) throws IOException{
StreamTokenizer tok = new StreamTokenizer(r);
tok.resetSyntax();
tok.wordChars(33,255);
tok.whitespaceChars(0,' ');
tok.eolIsSignificant(true);
while(tok.nextToken() != tok.TT_EOF){
switch(tok.ttype){
case tok.TT_EOL: //不知道为什么会报错
intLines++;
intChars++;
break;
case tok.TT_WORD: //不知道为什么会报错
intWords++;
default:
intChars += tok.sval.length();
}
}
}
public static void main(String[] args)
{
if(args.length == 0){
try{
wc(new InputStreamReader(System.in));
System.out.println(intLines + " " + intWords + " " + intChars);
}catch(IOException e){
}
}else{
int tWords = 0,tLines = 0,tChars = 0;
for(int i =0;i<args.length;i++){
try{
intWords = intLines = intChars = 0;
wc(new FileReader(args[i]));
tWords += intWords;
tLines += intLines;
tChars += intChars;
System.out.println(args[i] + ": " +intLines+ " " + intWords + " " + intChars);
}catch(IOException e){
System.out.println(args[i] +":error.");
}
}
System.out.println("Total :" +tLines+ " " + tWords + " " + tChars);
}
}
}