我有以下代碼用于遍歷目錄中的文件并將它們調(diào)整為 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條經(jīng)驗 獲得超4個贊
問題原來是一個損壞的文件頭,我能夠通過重新生成原始文件并添加一個 try catch 塊來捕獲一個來解決這個問題,EOFException
以便在以后的任何文件中它可以在該特定文件上輸出錯誤并繼續(xù)解析文件目錄的其余部分。
添加回答
舉報
0/150
提交
取消