Idea中读取属性文件的空指针异常

时间:2011-08-18 01:41:06

标签: java exception intellij-idea

在想法10.5中定义属性文件后,当我尝试使用它时,编译器显示Null指针异常!我尝试任何我认为在更改属性文件路径中修复它的东西,... 这是我写的代码: 谢谢。 初学者程序员!!!

public class MainDlg{
    Properties properties=new Properties();
    public MainDlg() {
        try {
            InputStream reader=MainDlg.class.getResourceAsStream("propFile");
            properties.load(reader);

5 个答案:

答案 0 :(得分:1)

听起来reader为空。确保路径正确。

如果属性文件是根,那么你应该

InputStream reader=MainDlg.class.getResourceAsStream("/propFile");

答案 1 :(得分:0)

如果找不到资源,

getResourceAsStream将返回null。您是否肯定,相对于MainDlg.class文件的位置,有一个名为presentation的文件夹,其中有一个名为propFile的文件?

答案 2 :(得分:0)

getResourceAsStream是case sensitive。确保您的文件名完全匹配。

答案 3 :(得分:0)

可能你的资源(prop文件)没有放入classes目录。在任何情况下,这里都是一个提示;)在阅读该属性之前,打印以下内容:

new java.util.File(".").getAbsolutePath()

这应该可以让您了解当前的实际目录 希望这能解决您的问题。祝你好运!

答案 4 :(得分:0)

你把propFile放在哪里了?它应该驻留在Source根目录中,但是IDEA不会默认将其复制到类路径,因为Settings |中的空扩展没有模式。 Compiler | Resource Patterns

建议您将文件重命名为something.properties,以便IDEA将其复制到输出(类路径),它将作为类路径资源提供。

如果您不想重命名文件,请将其放在源根目录之外的某个目录中,并将此目录配置为IDEA Project Structure |中的库依赖项。 Modules | Dependencies,这样它就可以从classpath中获得。