我正在构建一个压缩给定图像并将其保存为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);
}
答案 0 :(得分:0)
我也遇到过这个问题。答案是图片的模型是错误的。所以你应该改变图片的模型来自' CMYK'到' RGB'。 CMYK用于打印机,RGB用于计算机。你可以使用photoshop或imageMagick来完成它。
答案 1 :(得分:-1)
您没有检查文件是否存在/是否具有该文件的权限,这将是我的第一个调试步骤。
另请尝试以下操作:String imageFile = "./tmp/garden.png";
我总是在我的斜杠前放一个.
告诉它我正在谈论当前目录,但我不认为这是必需的。