package com.kj.test;
import cn.hutool.core.io.IoUtil;
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* 统计一个文件calcCharNum2.txt中各个字符出现次数:
* A(8),B(16),C(10)...,a(12),b(10),c(3)....中(5),国(6),
* 括号内代表字符出现次数;
*/
public class FileTest8 {
/**
* 分析:
* 1、这里出现了中文字符,因此使用字符流来读取文件
* 2、不存在相同的key,可以用HashMap来实现
* 3、先获得该key的value,如果存在key,value加上1
*/
public static void main(String[] args) {
File file = new File("D:\\calcCharNum2.txt");
int count = 0;
try {
// 创建字符流
InputStreamReader fr = new FileReader(file);
int len = 0;
HashMap<String, Integer> map = new HashMap();
while ((len = fr.read()) != -1) {
char c = (char) len;
try {
count = map.get(c + "");
} catch (Exception e) {
}
map.put(c + "", count + 1);
}