He es derecho, sin embargo. Por ejemplo, este código:
public static void main(String[] args) throws IOException {
BufferedImage image = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB);
File out = new File("\\\\ABC\\abc.png");
ImageIO.write(image, "png", out);
}
da
java.io.FileNotFoundException: \\ABC\abc.png (The network path was not found)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
at javax.imageio.stream.FileImageOutputStream.<init>(FileImageOutputStream.java:69)
at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(FileImageOutputStreamSpi.java:55)
at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:419)
at javax.imageio.ImageIO.write(ImageIO.java:1530)
at javaapplication145.JavaApplication145.main(JavaApplication145.java:24)
Exception in thread "main" java.lang.NullPointerException
at javax.imageio.ImageIO.write(ImageIO.java:1538)
at javaapplication145.JavaApplication145.main(JavaApplication145.java:24)
La razón es que FileImageOutputStreamSpi.createOutputStreamInstance
traga FileNotFoundException y luego el NPE viene cuando ImageIO.write
trata de cerrar una corriente que no se abrió.
Por qué la excepción se suprime tan brutalmente, no sé. El fragmento de código es
try {
return new FileImageOutputStream((File)output);
} catch (Exception e) {
e.printStackTrace();
return null;
}
La única solución es para verificar el camino antes de intentar utilizar ImageIO.
Compartir el código donde se produce esta excepción favor – maksimov
No existe un método ImageIO.write() tomando un camino String como argumento. Muéstranos tu código y el rastro de la pila de la excepción. –
Además, incluso podría mostrar su 'stacktrace'. –