黑马程序员技术交流社区

标题: 文件读取的问题 [打印本页]

作者: 学习代码    时间: 2014-3-29 16:49
标题: 文件读取的问题

  1. import java.io.*;

  2. class  FileReaderDemo
  3. {
  4.         public static void main(String[] args)throws Exception
  5.         {
  6.                 FileReader fr = new FileReader("demo.java");
  7.                 //int num= fr.read();
  8.                 //System.out.println((char)num);
  9.                
  10.                 while(true)
  11.                 {
  12.                         int num1 = fr.read();
  13.                         if(num1!=-1)
  14.                                 System.out.println((char)num1);
  15.                        
  16.                                 /*if(num1==-1)
  17.                                         break;
  18.                                 System.out.println((char)num1);*/
  19.                 }
  20.                 fr.close();//为什么这句话会报错啊
  21.                                         //如果把上面注释的代码打开的话,就可以,不理解
  22.                
  23.         }
  24. }
复制代码

谢谢
作者: H-Deka    时间: 2014-3-29 16:51
/*if(num1==-1)

      break;

       System.out.println((char)num1);*/

没有这个会是个死循环,出不来的
作者: 凌慕枫    时间: 2014-3-29 16:57
没有抛出异常
  1. public static void main(String[] args){
  2.                 FileReader fr = null;
  3.                 try{
  4.                         fr = new FileReader("demo.java");
  5.                 //int num= fr.read();
  6.                 //System.out.println((char)num);
  7.                 
  8.                 while(true)
  9.                 {
  10.                         int num1 = fr.read();
  11.                         if(num1!=-1)
  12.                                 System.out.println((char)num1);
  13.                         
  14.                                 /*if(num1==-1)
  15.                                         break;
  16.                                 System.out.println((char)num1);*/
  17.                 }
  18.                 }catch(IOException e){
  19.                         throw new RuntimeException("读取失败");
  20.                 }finally{
  21.                         try{
  22.                                 if(fr!=null){
  23.                                         fr.close();
  24.                                 }
  25.                         }catch(IOException e){
  26.                                 throw new RuntimeException("读取关闭失败");
  27.                         }
  28.                 }
  29.         }
复制代码

作者: 学习代码    时间: 2014-3-29 16:59
H-Deka 发表于 2014-3-29 16:51
/*if(num1==-1)

      break;

对的 确实出不来啊  没想到啊  谢谢
作者: ╰青青子佩ˊゝ    时间: 2014-3-29 23:37
两点提醒,希望能帮到你
  1. class  FileReaderDemo
  2.                 {
  3.                         public static void main(String[] args)throws Exception
  4.                         {
  5.                                 FileReader fr = new FileReader("d:1.txt");
  6.                                 //int num= fr.read();
  7.                                 //System.out.println((char)num);
  8.                                 
  9.                                 while(true)
  10.                                 {
  11.                                         int num1 = fr.read();
  12.                                         if(num1!=-1)
  13.                                                 System.out.println((char)num1);
  14.                                        
  15.                                                 /*if(num1==-1)
  16.                                                         break;
  17.                                                 System.out.println((char)num1);*/
  18.                                 }
  19.                                 //1.你没发现上面while内是死循环嘛,程序一直在while内打转,停不下来,那么下面那句代码是读不到的,编译时不能通过.
  20.                                 //2.如果把上面注释的代码打开,就不是死循环了,当num1=-1的时候,程序执行跳出循环,执行fr.close()代码,这样编译执行都能通过
  21.                             //    fr.close();//为什么这句话会报错啊
  22.                         //如果把上面注释的代码打开的话,就可以,不理解
  23.                                 
  24.                         }
  25.                 }
复制代码





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