使用properties.load()时出现NullPointerException

3
我在Java中遇到了一些属性方面的小问题,也许你可以帮我。
以下是我的代码,我将Properties对象写入XML:
global.storeToXML(new FileOutputStream(propertiesPath + SEPERATOR + GLOBAL + FILEEXTENSION), "");

这个很好地运作并产生了以下文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>test</comment>
<entry key="port">5001</entry>
<entry key="maxPlayers">1</entry>
</properties>

但是,如果我尝试使用以下代码加载此文件:
FileInputStream fis = new FileInputStream(propertiesPath + SEPERATOR + GLOBAL + FILEEXTENSION);

if (fis != null)
 global.loadFromXML(fis);
loadFromXML方法抛出空指针异常。根据Properties的文档,这通常意味着fis将为null,但它显然不是这样。
我已经尝试了load()和store()方法(没有使用XML),但仍然出现相同的错误。当我尝试通过fis手动读取文件时,它可以正常工作。
谢谢您的帮助!

1
什么是 global?可能 global 是空的。 - johnchen902
异常的堆栈跟踪是什么? - JB Nizet
检查并查看:if (fis != null && global!=null) - AllTooSir
哦,该死,现在我感到很羞愧...在这一点上忘记初始化全局变量了...谢谢。 - installboi
1个回答

0

忘记初始化全局变量了。对于这个愚蠢的问题我表示抱歉。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接