【发布时间】:2012-06-22 09:05:42
【问题描述】:
通过ImageIO.write() API 调用,当我通过像"\\abc\abc.png" 这样不存在的路径时,我得到NullPointerException。我故意通过不存在的路径来测试某些东西,但我没有得到FileNotFoundException,而是得到NPE。这是为什么?
ImageIO.write() API 应该抛出 IOException 但不知道为什么我会得到 NPE。
我使用异常消息字符串在消息框中向用户显示它,但在这种情况下NPE.getLocalizedMessage() 返回空字符串,因此弹出窗口是空的,上面只有一个图标。
【问题讨论】:
-
请分享出现此异常的代码
-
没有 ImageIO.write() 方法将字符串路径作为参数。向我们展示您的代码,以及异常的堆栈跟踪。
-
另外,您甚至可以显示您的
stacktrace。 -
一般提示。 1) 即使您能找到接受字符串来表示文件路径或 URL 的 J2SE 方法,也不要使用它,而是使用接受
File或URL的重载变体。 2) 如果使用File,请从JFileChooser获取。对用户来说更容易,更可靠。 3)"\\abc\abc.png"不是 any 操作系统上的有效文件路径,在我看来它无法编译。通过键入“类似于”使用的代码来停止浪费您的时间(更重要的是我们的时间)。为了尽快获得更好的帮助,请发帖SSCCE。 -
@AndrewThompson - 我对浪费我的时间或其他人的时间不感兴趣。如果你不能像彼得那样理解这个问题,这不是我的错。但是,我找到了查询的原因/解决方案。谢谢你的粗鲁。
标签: java exception javax.imageio