0
我使用下面的代码将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。 –