类java
默认情况下
要统计文件的字符数
<!
Code highlighting produced by Actipro CodeHighlighter (freeware)
import java
import java
import java
import java
/**
* 使用StreamTokenizer来统计文件中的字符数
* StreamTokenizer 类获取输入流并将其分析为
* 分析过程由一个表和许多可以设置为各种状态的标志控制
* 该流的标记生成器可以识别标识符
*
* 默认情况下
* 如符号
* 统计文章字符数的程序
* 引号中的内容就算是
* st
* st
*/publicclass StatisFileChars {
/**
* 统计字符数
* @param fileName 文件名
* @return 字符数
*/publicstaticlong statis(String fileName) {
FileReader fileReader =null;
try {
fileReader =new FileReader(fileName);
//创建分析给定字符流的标记生成器 StreamTokenizer st =new StreamTokenizer(new BufferedReader(
fileReader));
//ordinaryChar方法指定字符参数在此标记生成器中是
//下面指定单引号
st
String s;
int numberSum =
int wordSum =
int symbolSum =
int total =
//nextToken方法读取下一个Token
//TT_EOF指示已读到流末尾的常量
//在调用 nextToken 方法之后
//TT_EOL指示已读到行末尾的常量
break;
//TT_NUMBER指示已读到一个数字标记的常量case StreamTokenizer
//如果当前标记是一个数字
System
numberSum += s
break;
//TT_WORD指示已读到一个文字标记的常量case StreamTokenizer
//如果当前标记是一个文字标记
wordSum += s
break;
default:
//如果以上
symbolSum += s
}
}
System
System
System
total = symbolSum + numberSum + wordSum;
System
return total;
} catch (Exception e) {
e
return
} finally {
if (fileReader !=null) {
try {
fileReader
} catch (IOException e
}
}
}
}
publicstaticvoid main(String[] args) {
String fileName =
StatisFileChars
}
}
运行结果
sum of number =
sum of word =
sum of symbol =
Total =