0

品質を変更した後にファイルを置き換えようとしています - 問題は、元のファイルを置き換えることはできず、新しいファイルを作成することしかできないことです。私が使用しているコードは次のとおりです。

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();
}
4

2 に答える 2

0

私のコンピューター(Java 7を使用)では、元のファイルを置き換えて正常に機能しました。ファイルに正しい書き込み権限があることを確認します

于 2013-05-28T22:33:05.040 に答える