import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
/*
* 八)统计一个文件calcCharNum.txt(见附件)中各个字母出现次数:
A(8),B(16),C(10)...,a(12),b(10),c(3)....,括号内代表字符出现次数;
* */
class IO8 {
public static void main(String[] args) {
File file = new File("I:\\bb.txt");
BufferedReader bufr = null;
try {
bufr = new BufferedReader(new FileReader(file));
int ch = 0;
TreeMap<Character, Integer> tm = new TreeMap<>();
while ((ch = bufr.read()) != -1) {
if ((ch >=65 && ch <= 90) || (ch >=97 && ch <= 122)) {//如果是字母
if (tm.containsKey((char)ch)) {//如果TreeMap中包含该字母
tm.put((char)ch, tm.get((char)ch) + 1 );//通过key拿值并+1存入
} else {//若不包含改字母,直接存入,且数量为1
tm.put((char)ch, 1);
}
}
}
Iterator<Map.Entry<Character, Integer>> it = tm.entrySet().iterator();
while (it.hasNext()) {
System.out.print(it.next() + ",");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufr != null) {
bufr.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
统计一个文件calcCharNum.txt(见附件)中各个字母出现次数: A(8),B(16),C(10)...,a(12),b(10),c(3)....,括号内代表字符出现次数;
最新推荐文章于 2022-08-09 16:45:08 发布