자바 파일 사이즈, 이미지 사이즈(width, height) 얻기

By | 6월 2, 2011

- 출처 : http://blog.naver.com/devstory/130033912192 -


* 자바 파일 사이즈

   - java.io.File.length() 메서드 사용

* 자바 이미지 사이즈 (width, height)

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) );

            //이미지 파일이 아닐 경우 결과값으로 각각 -1 을 리턴한다.

                     

           // 방법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 로 실행시에는 문제가 발생하진 않습니다.

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


* 내 경험담

     내 경우는 자바에서 실행하는 경우라 별로 위에서 말한 방법1의 결함이 별로 신경쓰이지 않았고,

     실제로 실행해 보니 방법2의 실행속도가 너무나도 느렸기 때문에 결국 방법1을 선택해서 사용했다.

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
박태양
박태양
8 years ago

이미지사이즈때문에 하루종일고생했는데 감사합니다ㅠㅠㅠㅠㅠ

itpsolver
itpsolver
8 years ago
Reply to  박태양

흐흐 다행이네요