2013-11-23 6 views
3

주어진 이미지를 압축하고 JPEG로 저장하는 프로그램을 작성 중입니다.javax.imageio.IIOException : 입력 파일을 읽을 수 없습니다

public class JPEGCompression { 

public static void main(String[] args) throws IOException{ 

    String imageFile = "/tmp/garden.png"; 
    BufferedImage i = ImageIO.read(new File(imageFile)); // this line produces the error 
    showImage("Original Image", i); 

    compressAndShow(i, 0.7f); 


} 
+3

이미지 경로에 슬래시가 있어야합니까? – Sinkingpoint

+0

@Quirliom 와우 그게 그렇게 간단했습니다! 그게 효과가 있었어, 고마워요 :) – pacman4565

+0

이 질문에 대한 답변을 추가하거나 도움이 되었다면 아래 답변을 수락하십시오. 지금 이것은 다른 사람들에게별로 도움이되지 않습니다. – Gray

답변

-1

당신은 어떤 검사가없는 파일/파일에 대한 권한이있는 경우에 대해, 그 것이 내 첫 번째 디버깅 단계 : 여기

Exception in thread "main" javax.imageio.IIOException: Can't read input file! 
at javax.imageio.ImageIO.read(Unknown Source) 
at JPEGCompression.main(JPEGCompression.java:23) 

내 주요입니다 : 이것은 내가 오류 메시지입니다 . String imageFile = "./tmp/garden.png";

난 항상 내가이 필요합니다 생각하지 않습니다하지만, 나는 현재 디렉토리에 대해서 이야기하고 그에게 내 슬래시 전에 .을 넣어 :

은 또한 다음과 같은 시도하십시오.

+3

'/'와'. /'는 완전히 다른 것을 의미하며'. /'는 간단하게 제거 될 수 있습니다. – EJP

0

이 문제도 발생했습니다. 대답은 그림의 모델이 잘못되었다는 것입니다. 따라서 그림의 모델을 'CMYK'에서 'RGB'로 변경해야합니다. CMYK는 프린터 용이고 RGB는 컴퓨터 용입니다. Photoshop 또는 imageMagick을 사용하여 작업을 완료 할 수 있습니다.