import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.HashMap; 
public class Test5 { 
 /**把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如: 
         a:  21 次 
         b:  15 次 
         c:: 15 次 
         把:  7 次 
         当:  9 次 
         前:  3 次 
         ,:30 次 
  * @param args 
  */ 
  public static void main(String[] args) throws IOException { 
    // 读取d盘c.txt文本里的内容 
    BufferedReader in = new BufferedReader(new FileReader("d:\\c.txt")); 
    String str = new String(), s2 = new String(); 
    //将读取的字符放入str中 
    while ((s2 = in.readLine()) != null) 
    { 
     str += s2; 
    } 
    //关闭输入流 
    in.close(); 
    //将字符串强制转换为char[]数组 
    char[] arry =str.toCharArray(); 
    int all = 0; 
    //定义一个HashMap对象其中键是字符,值为字符的个数 
    HashMap<Character, Integer> map = new HashMap<Character, Integer>(); 
    //遍历数组 
    for (int i = 0; i < arry.length; i++)  
    { 
     //判断HashMap中是否有该字符。 
     if(map.get(arry[i]) != null) 
     { 
      //把值存入all变量中 
      all = map.get(arry[i]); 
      //然后all加1,再把该字符和该字符出现的个数存入HashMap中 
      map.put(arry[i], all + 1); 
     } 
     //该字符不在HashMap中 
     else if (map.get(arry[i]) == null) { 
      //把该字符添加到HashMap中,字符个数为1 
      map.put(arry[i] , 1); 
     } 
    } 
    //遍历Hash中的key 
    for (Character c : map.keySet())  
    { 
     //输出次数 
     System.out.print(c+":"+ map.get(c)+"次\n"); 
       } 
  } 
} 
 
 
 |