Convertir Byte [] a Imagen en Java

Una imagen en byte [] puede estar guardado en una base de datos y queremos recuperar esa imagen en Java y mostrarlo. Yo desarrolle una forma de hacerlo, primero necesitamos de BufferedImage para guardar la imagen, el InputStream para leer el byte [] de la imagen y almacenarlo en el BufferedImage. BufferedImage image = null; InputStream in = new ByteArrayInputStream(imgFoto); image = ImageIO.read(in); Donde imgFoto es tu arreglo de Byte [] de la imagen , por ejemplo supongamos que en una base de datos tengo un campo con fotos y esta en la columna 3 y es del tipo Blob. Blob blob = resultset.getBlob(3); //primero me aseguro que no este vacío. if(blob != null){ try{ byte[] data = blob.getBytes(1, (int)blob.length()); BufferedImage img = null; try{ img = ImageIO.read(new ByteArrayInputStream(data)); } catch(Exception ex){ System.out.println(ex.getMessage()); } ImageIcon icono = new ImageIcon(img); JOptionPane.showMessageDialog(null, "Imagenes",...