Java 测试文件是否存在但获取nullpointexception
这将在下一行返回一个空点异常Java 测试文件是否存在但获取nullpointexception,java,nullpointerexception,Java,Nullpointerexception,这将在下一行返回一个空点异常 public class ReadConfig { private File configFile; public boolean testConfig(){ if(Utils.isWindows()){ File configFile = new File("C:/config.properties"); } else{ File configF
public class ReadConfig {
private File configFile;
public boolean testConfig(){
if(Utils.isWindows()){
File configFile = new File("C:/config.properties");
}
else{
File configFile = new File("/config.properties");
}
if(configFile.exists() && !configFile.isDirectory()){
System.out.println(configFile + "found!");
return true;
}
else{
try {
configFile.createNewFile();
System.out.println(configFile + "created!");
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}
}
在我看来,它应该返回false,为什么它会抛出一个
NullPointerException
?问题是if
和else
分支中的语句初始化一个名为configFile
的新变量,而不是使用该字段。删除文件
应该可以做到这一点,例如:
if(configFile.exists() && !configFile.isDirectory()){
哪种语言?您最初在哪里定义变量
configFile
?语言是java,我更新了opIs,在类中还有一个名为configFile
的字段?是的,我刚刚添加了它
if(Utils.isWindows()){
configFile = new File("C:/config.properties");
} else {
configFile = new File("/config.properties");
}