import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageOutputStream;
public class ImageIOExample {
public static void main(String[] args) {
try {
File inputFile = new File("input.jpg");
ImageInputStream input = ImageIO.createImageInputStream(inputFile);
ImageReader reader = ImageIO.getImageReaders(input).next();
reader.setInput(input);
BufferedImage image = reader.read(0);
File outputFile = new File("output.png");
ImageOutputStream output = ImageIO.createImageOutputStream(outputFile);
ImageWriter writer = ImageIO.getImageWritersByFormatName("png").next();
writer.setOutput(output);
ImageWriteParam param = writer.getDefaultWriteParam();
writer.write(null, new javax.imageio.IIOImage(image, null, null), param);
input.close();
output.close();
reader.dispose();
writer.dispose();
} catch (IOException e) {
e.printStackTrace();
}
}
}