输入英文文本(只考虑Ascii码,汉字不需考虑)
1. 统计字符数(空格,水平制表符,换行符,均算字符)
2. 统计有效行数(任何包含非空白字符的行,都需要统计)
3. 统计单词数(至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写)
4. 统计频率最高的10个单词的出现次数(值降序,键字典序)
按以上顺序逐行打印至输出文本,输出的格式如下
characters: number
words: number
lines: number
word1: number
word2: number
...
运行cmd
javac -encoding UTF-8 WordCount.java
java WordCount input.txt output.txt
建立了基本架构,制定了代码规范
实现字符计算,以及对应的文件读写功能
重写了算法实现,增加计算行数功能
增加了计算有效单词总数的功能
增加了统计词频功能,输出功能也完整了
改用StringBuilder提高性能,修改、增加了一些代码规范上的细节
通过去删去不必要的字符操作,改进了部分算法效率
修改了读取算法与计算行数算法以适应读取\r的需要
输出格式,细节修改,所需功能基本完成完备
提取了读取字符串并拆分为有效单词Map的方法,提高效率
改用NIO读取文件以提升性能
优化了性能:采用StringTokenizer分割字符串,采用多线程
删去了之前尝试各类算法时遗留的不必要的导入
合并计算字符数与单词数的类,添加注释与README文本
更改编码模式为UTF-8解决提交时的乱码问题