在java中发现空指针异常

在java中发现空指针异常,java,Java,当我点击save按钮保存我的配置时,我得到空指针异常。我试着调试代码,当时我发现中object的值为null。我不明白为什么 我还检查了作为参数文件传递的路径是否正确我认为NPE发生的原因只有一个——它没有找到具有您给出的路径的文件 我还检查了作为参数文件传递的路径是否正确 有时,即使您认为您提供了正确的文件路径,这取决于目录层次结构,程序可能引用tt相对路径,这可能与您提供的路径不同。 然后你得到了in=null 尝试使用file.exists(),而不是FileInputStream(),您

当我点击save按钮保存我的配置时,我得到空指针异常。我试着调试代码,当时我发现中object的值为null。我不明白为什么


我还检查了作为参数文件传递的路径是否正确

我认为NPE发生的原因只有一个——它没有找到具有您给出的路径的文件

我还检查了作为参数文件传递的路径是否正确

有时,即使您认为您提供了正确的文件路径,这取决于目录层次结构,程序可能引用tt相对路径,这可能与您提供的路径不同。 然后你得到了in=null


尝试使用
file.exists()
,而不是FileInputStream(),您可以将文件放在类路径下。

尝试使用
file.exists()
确保
文件
对象存在。如果文件存在,它将返回
true
。如果
文件
对象为
null
它也会引发NullPointerException。

in=null时哪一行起作用?或者,由于您忽略的异常,此函数只是返回null?启动调试器后,我已将引用变量初始化为null,然后它首先执行try block first语句,仅在=new FileInputStream(file)中执行try block first语句。。。。我是developemnt新手,请帮助我删除此错误。请添加空堆栈跟踪,并指出代码中的哪一行对应于堆栈跟踪中的错误行。顺便说一句,这看起来像是何时使用try with resources的教科书示例
private static Properties getProperties(File file)
    {
        InputStream in = null;
        try
        {
            in = new FileInputStream(file);
            return loadProperties(in);
        }
        catch (IOException ex)
        {
            return null;
        }
        finally
        {
            if (in != null)
            {
                try
                {
                    in.close();
                }
                catch (IOException ex)
                {
                    ex.printStackTrace();
                    // ignore
                }
            }
        }
    }