黑马程序员技术交流社区

标题: 你们说说这段代码都涉及了哪些知识点,特意没写注释。 [打印本页]

作者: xingfeichen    时间: 2015-7-19 00:28
标题: 你们说说这段代码都涉及了哪些知识点,特意没写注释。
  1. import java.io.*;
  2. class FileReaderDemo2
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 FileReader fr = null;
  7.                 char[] ch = new char[1024];
  8.                 int num = 0;
  9.                 try
  10.                 {
  11.                         fr = new FileReader("demo3.txt");
  12.                         while((num = fr.read(ch))!=-1)
  13.                         {
  14.                                 System.out.println(num+"*****"+(new String(ch,0,num)));
  15.                         }
  16.                 }
  17.                 catch (IOException e)
  18.                 {
  19.                         System.out.println(e.toString());
  20.                 }
  21.                 finally
  22.                 {
  23.                         try
  24.                         {
  25.                                 if(fr!=null)
  26.                                         fr.close();
  27.                         }
  28.                         catch (IOException e)
  29.                         {
  30.                                 System.out.println(e.toString());
  31.                         }
  32.                 }
  33.         }
  34. }
复制代码

作者: wing-SF    时间: 2015-7-19 11:06
1.IO中的FileReader
2.IO异常处理
3.个人认为你这个代码中有一部分设计有问题,比如使用while()循环输出文件内容中,
“System.out.println(num+"*******"+(new String(ch,0,num)))”
如果读取的文件大于了你定义的char数组的范围,那么在输出时就会出现多句这个东西,然而,好吧,还是“然并卵”比较贴切,哈哈。其实你可以不用管num的大小的,如果装满了就会while循环,可以使用计数器来,统计文件大小。




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