A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 英雄传说ER 中级黑马   /  2014-11-11 15:03  /  969 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 英雄传说ER 于 2014-11-11 15:06 编辑

  1. import java.io.BufferedWriter;
  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.io.FileWriter;
  5. import java.util.HashMap;
  6. import java.util.Map.Entry;

  7. /**统计文本文件中的字符次数*/
  8. public class Test3 {
  9.         public static void main(String[] args) throws Exception {
  10.                 /*定义个读取流,关联要统计的文本,建立个写入流,关联输出的统计次数*/
  11.                 FileReader rd = new FileReader(new File("a.txt"));
  12.                 HashMap<Character,Integer> hm = new HashMap<Character, Integer>();
  13.                 FileWriter fw = new FileWriter(new File("b.txt"));
  14.                 BufferedWriter bw = new BufferedWriter(fw);
  15.                
  16.                 int i;
  17.                 char c;
  18.                 while((i = rd.read())!=-1){
  19.                         c = (char)i;
  20.                         if(hm.containsKey(c))
  21.                                 hm.put(c,hm.get(c)+1);
  22.                         else if((c!='\n')&&(c!='\r'))
  23.                                 hm.put(c,1);
  24.                 }
  25.                 rd.close();
  26.                
  27.                 for(Entry<Character,Integer> entry : hm.entrySet()){
  28.                         bw.write(entry.getKey()+":\t"+entry.getValue()+"次");
  29.                         bw.newLine();
  30.                         bw.flush();
  31.                 }
  32.                 bw.close();
  33.         }        
  34. }
复制代码

a.txt里面写的是 天使的翅膀的歌词——里面是没有分号的 b.txt里面却出现了说分号出现了多少次 求解啊

1 个回复

倒序浏览
没错啊,我运行了一下是没问题的,你看看你的文件有没有问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马