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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qincai 中级黑马   /  2014-6-14 23:30  /  843 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 qincai 于 2014-6-15 23:36 编辑

FileWriter fw = new FileWriter("demo.txt");
fw.write("abcdefg");
fw.close();
怎么理解上面这三句话都抛出异常呢?

1 个回复

倒序浏览
FileWriter fw = new FileWriter("demo.txt");//这个是新建一个文件,如果文件存在了。会出问题。
fw.write("abcdefg");//这个就是将字符写入文件,前提有这个文件
fw.close();//关闭资源失败


下面这个案例可以参考


/*
  IO流中的异常处理
  IO异常处理中。关闭资源close()方法,必须单独写try.. catch
*/
import java.io.*;
class FileWriterDemo2
{
        public static void main(String[] args)
        {
                //try外声明变量,try内建立对象
                FileWriter fw = null;
                try{
                fw = new FileWriter("Exception.txt");//fw = null
                fw.write("异常");
                fw.flush();

                fw.write("没有异常");
                fw.flush();

                }catch(IOException e){
                  //将异常信息打印出来
                  e.printStackTrace();
                  //如果真的发生IO异常,必须将程序停止
          throw new RuntimeException("文件写入失败");
                }finally{
                   //执行关闭流对象
                   try{
                         if(fw!=null)//说明对象建立成功,IO流开始使用Windows功能了
                      fw.close();
                   }catch(IOException e){
                      e.printStackTrace();
                          throw new RuntimeException("关闭资源失败");
                   }
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马