वह सही है, हालांकि। उदाहरण के लिए, इस कोड:
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);
}
देता
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)
कारण यह है कि FileImageOutputStreamSpi.createOutputStreamInstance
FileNotFoundException निगल और फिर एनपीई आता है जब ImageIO.write
की कोशिश करता एक धारा है कि नहीं खुला था बंद करने के लिए है।
अपवाद को इतनी क्रूरता से क्यों दबाया जाता है, मुझे नहीं पता। कोड टुकड़ा
try {
return new FileImageOutputStream((File)output);
} catch (Exception e) {
e.printStackTrace();
return null;
}
है एकमात्र समाधान ImageIO उपयोग करने के लिए प्रयास करने से पहले पथ सत्यापित करने के लिए है।
स्रोत
2012-06-22 10:29:28
शेयर कोड जहां यह अपवाद कृपया – maksimov
होता है कोई ImageIO.write() विधि तर्क के रूप में एक स्ट्रिंग पथ ले रहा है। हमें अपना कोड, और अपवाद का स्टैक ट्रेस दिखाएं। –
इसके अलावा, आप अपना 'स्टैकट्रैक' भी दिखा सकते हैं। –