Java统计文件中字母个数

import java.text.DecimalFormat;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;
public class zimu {
	private void HandleLetter(File file)throws IOException,FileNotFoundException{
		DecimalFormat df = new DecimalFormat("#0.00");
		if(file.length()>0){
			int[] iNum=new int[26];
			FileReader fr=new FileReader(file);
			BufferedReader br=new BufferedReader(fr);
			int i,count=0;
			while((i=br.read())!=-1){
				i-='a';
				if(i>-1&&i<26) iNum[i]++;
			}
			br.close(); 
			fr.close();
			for(i=0;i<26;i++) count+=iNum[i];//总字母
			System.out.println("字母总数:"+count);
			for(i=0;i<26;i++){//打印
				if(iNum[i]!=0)
					System.out.println((char)(i+(int)'a')+"有"+iNum[i]+"个,占"+(df.format(iNum[i]*100/(double)count)+"%"));
			}
		}
		else 
			System.out.println("文件不存在或者无数据,请确认文件!");
	}
	public static void main(String[] args)throws IOException,FileNotFoundException{
		zimu le=new zimu();
		File file=new File("");//文件路径,记得加后缀
		le.HandleLetter(file);
	}
}

运行结果:

posted @ 2020-11-04 12:59  Arisf  阅读(678)  评论(0编辑  收藏  举报