黑马程序员技术交流社区

标题: 关于IO读写练习问题 [打印本页]

作者: wjj410830911    时间: 2013-11-13 23:44
标题: 关于IO读写练习问题
  1. public class 课堂联机
  2. {

  3.         /**
  4.          * @param args
  5.          * @throws IOException
  6.          */
  7.         public static void main(String[] args) throws IOException
  8.         {
  9.                 Demo2();
  10.         }
  11.         private static void Demo2() throws FileNotFoundException, IOException {
  12.                 BufferedReader br =
  13.                                 new BufferedReader(new FileReader("day22笔记.txt"));
  14.                 BufferedWriter bw =
  15.                                 new BufferedWriter(new FileWriter("times.txt"));
  16.                 Map<Character, Integer> map = new TreeMap<>();
  17.                 int ch;
  18.                 while((ch = br.read())!= -1)
  19.                 {
  20.                         char c = (char) ch;
  21.                         map.put(c, map.containsKey(c) ? map.get(c) + 1: 1 );
  22.                 }
  23.                 for (Character c : map.keySet())
  24.                 {
  25.                         switch (c) {
  26.                         case '\t':
  27.                                 System.out.println("\\t" + " = " + map.get(c));
  28.                                 break;
  29.                         case '\r':
  30.                                 System.out.println("\\r" + " = " + map.get(c));
  31.                                 break;
  32.                         case '\n':
  33.                                 System.out.println("\\n" + " = " + map.get(c));
  34.                                 break;
  35.                         case ' ':
  36.                                 System.out.println("空格" + " = " + map.get(c));
  37.                                 break;
  38.                         default:
  39.                                 System.out.println(c + " = " + map.get(c));
  40.                         }
  41.                 }
  42.         }
复制代码
这个是我在课上 一起写的代码   读入一个文本  将文本里的每个字出现了几次 打印出来
如“我 = 31”“代 = 14”“, = 45”等   
但如何将这些打印出来的信息 写入我创建的文本中啊?
作者: 起猿    时间: 2013-11-14 00:00
本帖最后由 起猿 于 2013-11-14 00:02 编辑

我就不写代码了,写了你就容易形成固定思维,可以试探的学会分析
现在你已经把读入的数据写入了Map集合,那么接下来就是怎么写入文件了
已知,写入文件有writer(String str)方法,那么你就可以把map集合内的元素遍历出来,转为字符串。
然后通过此方法,写入到文档。

记得close()关闭流哈

作者: 起猿    时间: 2013-11-14 00:01
起猿 发表于 2013-11-14 00:00
我就不写代码了,写了你就容易形成固定思维,可以试探的学会分析
现在你已经把读入的数据写入了Map集合,那 ...

这是啥情况,出来这么多乱七八糟的东西
作者: 起猿    时间: 2013-11-14 00:03
起猿 发表于 2013-11-14 00:00
我就不写代码了,写了你就容易形成固定思维,可以试探的学会分析
现在你已经把读入的数据写入了Map集合,那 ...

好了,原来关键字不能复制
作者: wjj410830911    时间: 2013-11-14 00:09
起猿 发表于 2013-11-14 00:01
这是啥情况,出来这么多乱七八糟的东西
  1. //什么意思 是指这样吗?
  2. bw.writer("ccc.txt");
  3. bw.close;
  4. //就行了吗?
复制代码

作者: 起猿    时间: 2013-11-14 00:29
wjj410830911 发表于 2013-11-14 00:09

从你的程序看,你得到了{我 = 31”“代 = 14”“, = 45}这样的一个集合。而集合是不能直接写入指定文件的。所以你要将它转换成可以写入文件的字符流来写入,在write(String str)方法里,可以写入字符串。
所以你只要把你集合内的元素,按照你想要的方式变成字符串,然后通过这个方法写入文件就可以了。你都学到IO了,就不用我说咋把集合元素变成字符串了吧。嘿嘿
作者: 黄炳期    时间: 2013-11-14 09:29
帖子已分类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2