Я использую приведенный ниже код для записи BufferedIMage на диск, но я не могу открыть его с помощью окон, если я не закрываю свою программу. Я думал, что писатель. Разделение будет делать трюк, но я ошибся, я думаю, я что-то пропустил? Спасибо за помощь!writer.dispose() не работает по назначению
private void saveToFile(BufferedImage img, File file) throws IOException
{
ImageWriter writer = null;
java.util.Iterator iter = ImageIO.getImageWritersByFormatName("jpg");
if(iter.hasNext())
{
writer = (ImageWriter)iter.next();
}
ImageOutputStream ios = ImageIO.createImageOutputStream(file);
writer.setOutput(ios);
ImageWriteParam param = new JPEGImageWriteParam(java.util.Locale.getDefault());
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) ;
param.setCompressionQuality(0.98f);
writer.write(null, new IIOImage(img, null, null), param);
writer.dispose();// here the dispose not working
}
Вы должны закрыть ImageOutputStream. –