1.导包
import java.io.BufferedReader; import java.io.FileReader; import java.util.HashMap; import java.util.Map; import java.util.Set;
2.代码
public static void main(String[] args) throws Exception { //创建一个map集合,用于存储字符以及字符出现的次数 Map<Character,Integer> map = new HashMap<Character,Integer>(); //创建字符输入缓冲流对象,关联word.txt文件 BufferedReader br = new BufferedReader(new FileReader("word.txt")); //创建c来接收每次读取到的字符,底层默认将读取到的字符转为int类型 int c; //一次读取一个字符 while((c=br.read())!=-1) { //转为char类型 char ch = (char) c; //根据key获取value Integer value = map.get(ch); //如果value为空说明这个字符还没有存储过 if(value == null) { //存储,第一次存储,value为1 map.put(ch, 1); }else { //说明已经存储过value次,只要在value的基础上+1即可 map.put(ch, value+1); } } //当统计完成后,打印出来 Set<Character> keys = map.keySet(); for (Character key : keys) { Integer value = map.get(key); System.out.println(key+":"+value); } }