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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄兴旺 金牌黑马   /  2013-7-26 10:28  /  1381 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄兴旺 于 2013-7-26 11:13 编辑
  1. import java.io.*;
  2. class FileReaderDemo
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 FileReader fr = new FileReader("demo.txt");

  7.                 int ch = 0;

  8.                 while ((ch=fr.read())!=-1)
  9.                 {
  10.                         System.out.println((char)ch);
  11.                 }

  12.                 fr.close();
  13.         }
  14. }
复制代码
哪位大神能给我演示一下怎样try的么?

11 个回复

倒序浏览
FileReader fr = null;
  try {
   fr = new FileReader("demo.txt");
   int ch = 0;
   while ((ch = fr.read()) != -1) {
    System.out.println((char) ch);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  finally {
   try {
    fr.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
回复 使用道具 举报
  1. FileReader fr =null;
  2.                  try
  3.                  {
  4.                         int ch = 0;
  5.                         fr = new FileReader("demo.txt");
  6.                         while ((ch=fr.read())!=-1)
  7.                  {
  8.                          System.out.println((char)ch);
  9.                  }
  10.                         fr.close();
  11.                  }
  12.                  catch(IOException e)
  13.                  {
  14.                          throw new RuntimeException(e);
  15.                  }
复制代码
回复 使用道具 举报
尹桥印 发表于 2013-7-26 10:34
把异常的代码放入try中,把处理异常的代码放入catch中,把关闭流的动作放入finally中,关流之前尽量对流进 ...

说得很通俗易懂,赞!
回复 使用道具 举报
import java.io.*;
class FileReaderDemo
{
        public static void main(String[] args) throws IOException
        {
                FileReader fr=null;
                try{
                          fr = new FileReader("demo.txt");
                          int ch = 0;
                          while ((ch=fr.read())!=-1)
                               {
                                    System.out.println((char)ch);
                                  }
                   } catch(IOException e){
                           throw new RuntimeExceptin("失败");
                   }
                finally{
                                 if(fr!=null)
                                 try{fr.close()}
                                 catch(IOException e){
                                      throw new RuntimeException("失败");
                                     }
                     }

               

               
        }
}
回复 使用道具 举报
尹桥印 发表于 2013-7-26 10:34
把异常的代码放入try中,把处理异常的代码放入catch中,把关闭流的动作放入finally中,关流之前尽量对流进 ...

嗯嗯  现在懂的这个原理  就是不怎么会操作  正在琢磨
回复 使用道具 举报
李政 中级黑马 2013-7-26 11:03:50
7#
import java.io.*;

class FileReaderDemo
{
        public static void main(String[] args) throws IOException
        {
                        FileReader fr = null;//防止调用close()时 出现空指针异常
                       
                        //对new FileReader 和 read()进行处理
                        try
                        {
                fr = new FileReader("demo.txt");

                int ch = 0;

                while ((ch=fr.read())!=-1)

                {
                        System.out.println((char)ch);
                }
                        }

                        catch (IOException e)
                        {
                                throw new RuntimeException("读取错误");//如果出现错误,直接抛Runtime异常,停止程序
                        }
                                 
                        finally
                        {
                                if(fr!=null)//防止空指针异常 ,进行一次判断
                                        try//对close()进行处理
                                        {
                                                fr.close();
                                        }
                                        catch (IOException e1)
                                        {
                                                System.out.println("关闭资源异常");
                                        }
                                       
                        }
               

        }

}
回复 使用道具 举报
jialihong 发表于 2013-7-26 10:57
import java.io.*;
class FileReaderDemo
{

我把 if(fr!=null)改成 if(fr==null)  会有什么区别么?
回复 使用道具 举报
尹桥印 发表于 2013-7-26 11:07
你自己觉得哪些代码是要抛出异常,你就挨个的去试,去放在try里面。自己试出来的感觉用毕老师的话来说, ...

哇哈哈   爽到了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马