我的包 com.noteu
中有一个 db.properties.txt
文件
在与文件相同的包中,我尝试将其加载到数据库类内的属性对象的构造函数中,如下所示:
properties.load(Database.class.getResourceAsStream("db.properties.txt"));
但是我得到一个 java.lang.NullPointerException
如下:
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)
at java.util.Properties.load(Unknown Source)
at com.noteu.Database.get(Database.java:24)
at com.noteu.menus.Signin.checkSignedInStatus(Signin.java:52)
at com.noteu.menus.Signin.<init>(Signin.java:253)
at com.noteu.Main.main(Main.java:33)
最佳答案
将文件类型更改为.properties
,properties.load();
加载properties
文件而不是txt
文件作为流。
public void load(InputStream inStream) throws IOException
从输入字节流中读取属性列表(键和元素对)。
修改后的代码:
properties.load(Database.class.getResourceAsStream("db.properties"));
要加载 .txt
文件而不是属性文件,您必须创建 FileInputStream
实例。
FileInputStream fis new FileInputStream("myfile.txt");
props.load(fis)
If my solutions are not working please make sure that your path is correct.
关于java - 在 JAR 中加载 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630971/