FINDBUGS错误: OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE

拷贝文件的函数,之前的写法:

039   // 复制文件
040   public static void copyfile(File from, String tothrows Exception {
041     FileInputStream srcIn = null;
042     FileOutputStream destOut = null;
043     try {
044       srcIn = new FileInputStream(from);
045       destOut = new FileOutputStream(to);
046       byte[] buff = new byte[1024];
047       int len;
048       while (-!= (len = srcIn.read(buff))) {
049         destOut.write(buff, 0, len);
050       }
051 
052     catch (Exception e) {
053       throw e;
054     finally {
055       try {
056         if (null != srcIn)
057           srcIn.close();
058       catch (IOException e) {
059         throw e;
060       }
061       try {
062         if (null != destOut)
063           destOut.close();
064       catch (IOException e) {
065         throw e;
066       }
067     }
068   }

一直报错,原因是srcIn关闭异常之后,如何destOut可能就关闭失败。


// 复制文件
public static void copyfile(File from, String to) throws Exception {
   FileInputStream srcIn = null;
   FileOutputStream destOut = null;
   try {
      srcIn = new FileInputStream(from);
      destOut = new FileOutputStream(to);
      byte[] buff = new byte[1024];
      int len;
      while (-1 != (len = srcIn.read(buff))) {
         destOut.write(buff, 0, len);
      }
      destOut.close();
   } finally {
      try {
         if (null != destOut) {
            destOut.close();
         }
      }finally {
         if (null != srcIn) {
            srcIn.close();
         }
      }
   }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值