品質を変更した後にファイルを置き換えようとしています - 問題は、元のファイルを置き換えることはできず、新しいファイルを作成することしかできないことです。私が使用しているコードは次のとおりです。
private static void resize(String folder, String filename)
throws IOException {
BufferedImage imagem = ImageIO.read(new File(folder + "/" + filename));
float quality = (float) 0.25;
ImageWriter writer = (ImageWriter) ImageIO.getImageWritersByFormatName(
"jpeg").next();
ImageWriteParam iwp = writer.getDefaultWriteParam();
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
iwp.setCompressionQuality(quality);
File file = new File(folder + "/" + filename);
FileImageOutputStream output = new FileImageOutputStream(file);
writer.setOutput(output);
IIOImage image = new IIOImage(imagem, null, null);
writer.write(null, image, iwp);
writer.dispose();
}