Hola a todos, Siempre que trato de obtener un objeto utilizando ImageInputStream
ImageIO.createImageInputStream
simplemente devuelve null
sin excepciones, advertencias o errores. He intentado pasar diferentes tipos de datos a la función, un simple File
, y un InputStream
, pero ambos devolvieron null
también. La documentación dice que si no se encuentra ImageInputStreamSpi
adecuado, la función devolverá null
, pero el archivo es un JPEG estándar de pantano, y seguramente Java viene con un proveedor de servicios para dicho formato de fábrica. Gracias por su tiempo.ImageIO.createImageInputStream sigue volviendo nula
/**
* Reads in an image from a file and returns the image in a
* {@code BufferedImage} object.
*
* @param source the file to create the {@code BufferedImage}
* from.
* @return the {@code BufferedImage} object representing the image
* in {@code source}.
*/
private BufferedImage readImage(File source) {
// There is only one image in this file
final int imageIndex = 0;
BufferedImage image = null;
try {
// Get the ImageReader object for this filetype
Iterator readers =
ImageIO.getImageReaders(source);
ImageReader reader = (ImageReader) readers.next();
// Create an ImageInputStream object from the source image file
ImageInputStream iis = ImageIO.createImageInputStream(source);
// Raises IllegalArgumentException, because iis is null
reader.setInput(iis, true);
// Read the image file
image = reader.read(imageIndex);
} catch (Exception exception) {
exception.printStackTrace();
System.exit(-1);
}
return image;
}
bien limpia su código y que lo ponga aquí para que podamos ayudar a :) – FearUs
Excepto, que no ha respondido a mi pregunta, se me acaba de dar una solución diferente, que estaba ya estoy usando antes, como se detalla a continuación ... Mi pregunta original, con la que todavía estoy teniendo problemas, aún no ha sido respondida ... –
Tengo el mismo problema. Por algún motivo, funciona en MacOSX 1.6 desde Eclipse, pero falla en la producción, que es un entorno Debian Linux. Mi aplicación es una aplicación basada en OSGI basada en el contenedor de servlets Equinox y Jetty. de todo lo que leí hasta ahora parece estar relacionado con JAI y OSGI (http://stackoverflow.com/questions/1493199/running-jai-in-osgi). Pero aún no lo he resuelto. – Christoph