java - 在 JAR 中加载 .txt 文件

标签 java properties fileinputstream

我的包 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)

最佳答案

将文件类型更改为.propertiesproperties.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/

相关文章:

java - while 和 do while 循环

java - BigDecimal#min 方法是否符合 BinaryOperator 的条件?

iphone - 从txt列表文件中读取并在ios中设置许多对象

asp.net-core - 如何在.net core中使用.(variable_name)访问类属性?

java - Java 中 ZLIB 输入流的意外结束

java - 输入流读取器

java.lang.NoSuchMethodError : com. google.common.base.CharMatcher.ascii() 错误

python - 为什么这个装饰器不能从带有 "from module import *"的模块导入?

java - 运行读取文件并对文件中的字符进行计数的程序会导致 FileNotFoundException

java - 通过从文件选择器中选择图像来添加图像到数组中