Puedes guardar un objeto BufferedImage usando el método write de la clase javax.imageio.ImageIO

El encabezado del método sería algo así:

public static boolean write(RenderedImage ri,  String nombre,  File salida)

throws IOException

Dónde:

  • El primer parámetro es el RenderedImage a ser escrito
  • nombre es el string que contiene el nombre del formato (por ejemplo png)
  • salida: es el objeto file a ser escrito.

Un ejemplo de uso del método para un archivo de tipo png se los dejo acá posteado

ImageIO.write(image, “png”, file);