统计文件中字符出现的次数

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);
		}
	}

猜你喜欢

转载自blog.csdn.net/cai_niao5623/article/details/79950827