【发布时间】:2020-08-04 08:21:31
【问题描述】:
我有这个代码:
InputStream is = new FileInputStream(new FileURL(fileName));
properties.load(is);
我有这个例外: java.lang.NullPointerException: inStream 参数为空
在调试中一步一步走,我看到我的“is”变量为空。 但是当我评估 (ctrl+u in idea)
new FileInputStream(new FileURL(fileName));
我得到了分配给引用属性文件的普通 FileInputStream 对象。 请帮忙。
【问题讨论】:
-
你的
FileURL类从何而来? -
自定义项目类
-
它扩展了 java.io.File
-
如果你的代码真的像上面那样,这意味着对
properties.load(is)的调用是直接在之前创建FileInputStream之后进行的,那么此时is不可能为空。对象的构造可能会因异常而失败,也可能会成功,但永远不会产生 null。 -
@codeflush.dev 的分析是对的。我认为您应该提供更多代码。 NullPointerException 的堆栈跟踪也会有所帮助。
标签: java inputstream