设计一个程序读入一个文本文件,对其中出现的英文字符数进行统计,最后输出每个字符在文件中出现的次数

解决方案 »

  1.   

    仅仅是中文字符吗?
    楼上说的是一个方法,另一个方法可以考虑Map,不过要用到包装类
      

  2.   

    OutputStreamReader,将字符串写入文件,然后每read()一个字符,就用正则表达式,先判断是否为英文字符,如果是就存入list,然后写个查找的方法,用Iterator迭代list,将传入查找方法的参数和迭代list获得的每个字符进行equals,如果相等计数器就加1,相当于文件查找功能
      

  3.   

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class test { public static void main(String args[]){
    File file = new File(
    "d:\\test.txt");
    FileInputStream fis = null;
    try {
    fis = new FileInputStream(file);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    byte[] bbyte = new byte[(int) file.length()];
    try {
    fis.read(bbyte);
    } catch (IOException e) {
    e.printStackTrace();
    }
    // read file by byte
    String fileContent = new String(bbyte);
    Pattern p = Pattern.compile("a");
    Matcher m = p.matcher(fileContent);
    int i = 0;
    while (m.find()) {
    i++;
    }
    System.out.println(i);
    }
    }这个需要防护的,因为如果要统计的是符号,有些符号在complie里被转义了,统计的数据会不正确。