与getClassLoader()方法有关的问题:为什么下面的代码中会发生空指针异常

发布于 2022-09-07 04:10:44 字数 941 浏览 23 评论 0

import java.io.IOException;
import java.util.Properties;

public class PropertyUtil {
    public static void main(String[] args) {
        Properties properties = new Properties();
        try {
            properties.load(PropertyUtil.class.getClassLoader().getResourceAsStream("LYZ.properties"));
            String username = properties.getProperty("username");

            System.out.println(username);
        } catch (IOException e) {
            System.out.println("无法读取LYZ.properties");
        }
    }
}

控制台信息

Exception in thread "main" java.lang.NullPointerException
    at java.util.Properties$LineReader.readLine(Properties.java:434)
    at java.util.Properties.load0(Properties.java:353)
    at java.util.Properties.load(Properties.java:341)
    at com.test.PropertyUtil.main(PropertyUtil.java:10)

第十行代码就是:
properties.load(PropertyUtil.class.getClassLoader().getResourceAsStream("LYZ.properties"));
 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空城旧梦 2022-09-14 04:10:44

应该是这里报指针

PropertyUtil.class.getClassLoader().getResourceAsStream("LYZ.properties")

那么最可能的原因就是资源文件没有找到. 你要确认文件所在路径,因为你给的是相对路径, 即LYZ.properties应与PropertyUtil所在包的目录相同才行.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文