}
if (tempChar >= 'A' && tempChar <= 'Z') {
letterFrequency[tempChar - 'A']++;
}
}
bufferedReader.close();
fileReader.close();
return letterFrequency;
}
/**
*
统计
file
中的单词数
*@param file
目标文件对象
*@return
字符串数
*@author
张俊华
16030199025
*/
public Integer countAllString(File file) throws IOException {
Integer number = 0;
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String tempString;
while ((tempString = bufferedReader.readLine()) != null) {
number += tempString.split(" ").length;
}
bufferedReader.close();
fileReader.close();
return number;
}
定义 Actions 类,在 Actions 中,定义私有字段:
private File inputFile; //输入文件
private File outputFile; //输出文件
private boolean outputToFile = false; //输出到文件设置
通过调用 Counter 类中的方法实现字符或字符串的统计。例如
/**
*
实现统计用户文件中的字符串数量并输出
*@author
张俊华
16030199025
*/
public void countString() throws IOException {
if (outputFile != null && outputToFile) {
outputer.outputStringNumber(counter.countAllString(inputFile), outputFile);
} else {
outputer.outputStringNumber(counter.countAllString(inputFile));
}
}
定义包 userInterface 其中含有三个类 Inputer、Outputer、Prompt,分别实现输入,输出
和选项提示操作。