java 判断图片是否损坏

                              try{
				  File f = new File(mPicFilePath+mPicFileName);
				  FileInputStream fi = new FileInputStream(f);
				  try{
				      BufferedImage sourceImg =ImageIO.read(fi);//判断图片是否损坏
			              int picWidth= sourceImg.getWidth(); //确保图片是正确的(正确的图片可以取得宽度)
				  }catch (Exception e) {
					// TODO: handle exception
					  fi.close();//关闭IO流才能操作图片
				      FileUtil.Move(mPicFilePath+mPicFileName,MainFrame.mDirErrorFiles);
				      return;
				}finally{
					fi.close();//最后一定要关闭IO流
				}
				}catch (Exception e  ) {
					// TODO: handle exception
					System.out.println(e.toString());
					return;
				}

  因为ImageIO 没有关闭方法,所以图片读取过程必须拆开,这样才能关闭IO流。

     (ps:在网上找了一下午的方法,试了N多方法,都不靠谱。。。最后弄出来才发现。。。。)

转载于:https://www.cnblogs.com/hgxbo/p/5462943.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值