只需提供两个文件即可,源文件hello.txt,目标文件helloWordCount.txt,源文件必须存在,即你要处理的文件对象,目标文件是处理输出的文件,可以不存在,代码将会自动创建一个对应的文件。
@Test
public void testWordCount() {
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(new File("hello.txt")));
bw = new BufferedWriter(new FileWriter(new File("helloWordCount.txt")));
char[] buff = new char[10];
int len;
HashMap<Character, Integer> map = new HashMap<>();
while ((len = br.read(buff)) != -1) {
for (int i=0; i < len; i++) {
if(!map.containsKey(buff[i])) {
map.put(buff[i],1);
} else {
map.put(buff[i],map.get(buff[i])+1);
}
}
}
Set<Map.Entry<Character, Integer>> entrySet = map.entrySet();
for (Map.Entry<Character, Integer> entry : entrySet) {
bw.write(entry.getKey()+"字符有"+entry.getValue()+"个\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw!=null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}