gpt4 book ai didi

java - 测试文件是否存在但出现空指针异常

转载 作者:行者123 更新时间:2023-11-30 03:42:30 28 4
gpt4 key购买 nike

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;
}
}
}

这会在下一行返回一个空点异常

if(configFile.exists() && !configFile.isDirectory()){

在我看来它应该返回 false,为什么它会抛出 NullPointerException

最佳答案

问题在于 ifelse 分支中的语句初始化了一个名为 configFile 的新变量,而不是使用该字段。删除 File 应该可以解决问题,例如:

if(Utils.isWindows()){
configFile = new File("C:/config.properties");
} else {
configFile = new File("/config.properties");
}

关于java - 测试文件是否存在但出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com