Может быть, я неправильно понял, но если все, что вам нужно, это сохранить объект BufferedImage в формате jpeg, вы можете сделать это (начиная с Java 1.4 и далее):
ImageIO.write(bufferedImage,"jpg",file);
Вот ссылкас дополнительной информацией: http://download.oracle.com/javase/tutorial/2d/images/saveimage.html
Как вы можете видеть, он говорит, что JPEG, PNG, GIF, BMP и WBMP всегда будут поддерживаться.
Если вы хотите установить сжатие / качествоЭто немного больше работы, но не слишком много.Предполагая, что у вас есть bufferedImage и outFile:
IIOImage outputImage = new IIOImage(bufferedImage, null, null);
ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next();
writer.setOutput(new FileImageOutputStream(outFile));
ImageWriteParam writeParam = writer.getDefaultWriteParam();
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionQuality(.75f); // float between 0 and 1, 1 for max quality.
writer.write( null, outputImage, writeParam);
(исправлено из предыдущего ответа)