Dev/JAVA

자바 이미지 사이즈 추출 예제

solskjaer 2011. 4. 23. 14:59

import java.io.File;
import java.awt.Image;
import javax.swing.ImageIcon;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class Test {

    public static void main(String[] args) {
  // 방법1
  Image img = new ImageIcon(이미지경로).getImage();
  System.out.println( img.getWidth(null) + "," + img.getHeight(null) );

 

  // 방법2
  try
  {
   File file = new File(이미지경로);
   BufferedImage bi = ImageIO.read( file );
   System.out.println( bi.getWidth() + "," + bi.getHeight() );
  } catch( Exception e ) {
   System.out.println("이미지 파일이 아닙니다.");
  }
    }
}

 

Image 를 쓰는 방법과 BufferedImage 를 쓰는 방법이 있는데

둘다 결과는 똑같지만 후자를 쓰는 이유는...

JSP에서 전자를 쓰면 이미지 파일이 아닌 파일(avi나 exe 같은)은 한동안 파일 락이 걸려서

삭제나 이동이 불가하였고 flush 도 해봤지만 똑같은 증상이 발생하였습니다.

반면 후자는 아무 문제 없었습니다. JAVA 로 실행시에는 문제가 발생하진 않습니다.

문제의 원인과 해결 방법을 아시는 분은 댓글 부탁드립니다.