我有以下代码用于遍历目录中的文件并将它们调整为 64x64 像素。for(File file: friedFiles){ System.out.println(file.getPath()); BufferedImage image = ImageIO.read(file); Image resize = image.getScaledInstance(64,64, Image.SCALE_DEFAULT); File resizedFile = new File(path + "\\" + file.getName()); ImageIO.write(convertToBufferedImage(resize), "png", resizedFile); } System.out.println("Files finished");这工作正常,但在此目录中的第 300 个图像后它会中断,它给出的错误是“Caused by: java.io.EOFException: Unexpected end of ZLIB input stream”就行了BufferedImage image = ImageIO.read(file);我不确定是什么原因造成的,因为它试图读取的文件是一个有效的图像文件。编辑:请查看我添加到这个问题的答案,问题是原始文件中的文件头损坏。
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
问题原来是一个损坏的文件头,我能够通过重新生成原始文件并添加一个 try catch 块来捕获一个来解决这个问题,EOFException
以便在以后的任何文件中它可以在该特定文件上输出错误并继续解析文件目录的其余部分。
添加回答
举报
0/150
提交
取消