统计文件里各个字母出现的个数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DongGeDeBoKe/article/details/76850642
package com.liyadong.test03;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;

/*
 * 统计一个文件xxxx.txt中各个字母出现次数:]
 * 例如(A(8),B(16),C(10)...,
 * a(12),b(10),c(3)....,括号内代表字符出现次数;(10分)
 */
public class CharNumber {
    public static void main(String[] args) throws Exception {
        Map<String, Integer> map=new TreeMap<>();
        File file=new File("D:\\AA\\e.txt");
        if(!file.exists()){
            System.out.println("文件不存在!");
        }
        BufferedReader bufferedReader=new BufferedReader(new FileReader(file));
        int ch;
        while((ch=bufferedReader.read())!=-1){
            String key=(char)ch+"";
            if(map.containsKey(key)){
                map.put(key, map.get(key)+1);
            }else{
                map.put(key, 1);
            }
        }
        Set<Entry<String, Integer>> entrySet = map.entrySet();
        Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
        while(iterator.hasNext()){
            Entry<String, Integer> entry=iterator.next();
            System.out.println(entry.getKey()+"("+entry.getValue()+")");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/DongGeDeBoKe/article/details/76850642