用JAVA编程:对某一文本文件中各字符出现次数的统计,将统计结果按规定格式保存到charCount.txt文件中。

例如:文件test.txt中内容如下
ababbaccddda1122
统计后输出到charCount.txt文件中内容为:
a:4
b:3
c:2
d:3
1:2
2:2
意即,a字符出现4次,b字符3次……

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;

public class test {
public static void main(String[] args){
File inFile = new File("D:/test.txt");
File outFile = new File("D:/charCount.txt");
String s;
Map<Character, Integer> map = new HashMap<Character, Integer>();
try {
FileReader reader = new FileReader(inFile);
BufferedReader in = new BufferedReader(reader);
            while ((s = in.readLine()) != null) {
                char[] c=s.toCharArray();
                for(char cc:c){
                 if(map.get(cc)!=null){
                 int sum = map.get(cc);
                 map.put(cc, ++sum);
                 }else
                 map.put(cc, 1);          
                }
            }
            in.close();
            outFile.createNewFile();
            FileWriter writer = new FileWriter(outFile);
            BufferedWriter out = new BufferedWriter(writer);
            for(Map.Entry<Character, Integer> entry : map.entrySet()){
             out.write(entry.getKey()+" "+entry.getValue()+"\r\n");
            }
            out.flush();
            out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//纯手打,望采纳

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-01
1.定义字符读取(缓冲)流
2.循环读取文件里的字符,用一个String类型变量接收(newValue)
3.把newValue变成字符数组 char[] ch = newValue.toCharArray();
4.遍历ch 将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数
5.遍历打印map集合中的键和值,也就是字符出现的次数本回答被网友采纳
第2个回答  2018-12-31
可以写的,留一个邮箱写好发给你
相似回答