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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiangwenjun 高级黑马   /  2015-5-14 22:26  /  264 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package IOTest;

  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.util.Comparator;
  8. import java.util.Iterator;
  9. import java.util.TreeMap;



  10. /*
  11. * 10.把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出
  12. */
  13. public class Test1 {

  14.         public static void main(String[] args) {
  15.                 BufferedReader br=null;
  16.                 BufferedWriter bw=null;
  17.                 try {
  18.                         br=new BufferedReader(new FileReader("e:/q/info.txt"));
  19.                         bw=new BufferedWriter(new FileWriter("e:/q/inx.txt"));
  20.                         TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>(new Comp());
  21.                         int count=0;
  22.                         for (int i = 0; (i=br.read())!=-1;) {
  23.                                 Integer value=tm.get((char)i);//获取集合中的值  
  24.                     if(value!=null)//如果集合中没有该字母,则存入  
  25.                         count=value;  
  26.                     count++;  
  27.                     tm.put((char)i,count);//存入键值对  
  28.                     count=0;//复位计数变量  
  29.                         }
  30.                        
  31.                         Iterator<Character> it=tm.keySet().iterator();
  32.                         while (it.hasNext()) {
  33.                                 Character character = it.next();
  34.                                 Integer it1=tm.get(character);
  35.                                 bw.write(character+"("+it1+")");
  36.                                
  37.                         }
  38.                         bw.flush();
  39.                 } catch (IOException e) {
  40.                         throw new RuntimeException("读写文件失败");
  41.                 }finally{
  42.                         try {
  43.                                 if (br==null) {
  44.                                         br.close();
  45.                                 }
  46.                         } catch (IOException e2) {
  47.                                 throw new RuntimeException("读取流关闭失败");
  48.                         }
  49.                         try {
  50.                                 if (bw==null) {
  51.                                         bw.close();
  52.                                 }
  53.                         } catch (IOException e2) {
  54.                                 throw new RuntimeException("写入流关闭失败");
  55.                         }
  56.                 }
  57.                

  58.         }
  59.        

  60. }
  61. class Comp implements Comparator<Character>{

  62.         @Override
  63.         public int compare(Character o1, Character o2) {
  64.                 return o1.compareTo(o2);
  65.                
  66.         }
  67.        
  68. }
复制代码
最后文件是乱码!我只知道键可以正常写入。但加上值写入就乱码   不知道那里出现问题  求高手解答 谢谢!!!!!

1 个回复

倒序浏览
快快来大神教教我!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马