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多方法,都不靠譜。。。最后弄出來才發現。。。。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM