gpt4 book ai didi

java - hadoop中目录存在检查结果NPE

转载 作者:可可西里 更新时间:2023-11-01 16:14:39 25 4
gpt4 key购买 nike

我正在尝试验证给定路径是 HDFS 中的目录或文件,但它会在 fs.getFileStatus(path).isDir() 行产生 NPE。我不明白这里有什么问题,即使我验证了不为空的路径。

public static class RegexExcludePathFilter extends Configured implements
PathFilter {
private String path;
String patterns = "hdfs://localhost:9100/user/input-new/ncdc/filterdata/2007.[0-1]?[0-2].[0-9][0-9].txt" ;
Configuration conf;
Pattern pattern;
FileSystem fs;

@Override
public boolean accept(Path path) {

System.out.println(path);
try {
if(fs.getFileStatus(path).isDir()){
System.out.println(path);
return true;

}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return path.toString().matches(patterns);
}

}

第 108 行指向 accept 方法中的 if 语句。

enter image description here

提前致谢

最佳答案

你有没有初始化FileSystem fs?我认为那是 null

构造函数

public FileSystem(){
fs = new FileSystem();

}

编辑:我刚刚注意到您正在使用静态类,所以我不知道制作构造函数是否可行。

关于java - hadoop中目录存在检查结果NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24206367/

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