javax.imageio.IIOException:无法读取输入文件

时间:2013-11-23 19:18:20

标签: java bufferedimage javax.imageio

我正在构建一个压缩给定图像并将其保存为JPEG的程序。这是我收到的错误消息:

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) 

这是我的主要内容:

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


}

2 个答案:

答案 0 :(得分:0)

我也遇到过这个问题。答案是图片的模型是错误的。所以你应该改变图片的模型来自' CMYK'到' RGB'。 CMYK用于打印机,RGB用于计算机。你可以使用photoshop或imageMagick来完成它。

答案 1 :(得分:-1)

您没有检查文件是否存在/是否具有该文件的权限,这将是我的第一个调试步骤。

另请尝试以下操作:String imageFile = "./tmp/garden.png";

我总是在我的斜杠前放一个.告诉它我正在谈论当前目录,但我不认为这是必需的。

相关问题