一、Shell命令实现
第一步,启动Hadoop:
start-dfs.sh
第二步,检测文件或目录是否存在:
hdfs dfs -test -e 文件或目录名
第三步,查看检测结果:
echo $?
若输出结果为0,则说明文件或目录存在,若为1,则说明文件或目录不存在。
二、Java代码实现
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HDFSFileIfExist {
public static void main(String[] args) {
try{
//加载配置项
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:9000");
conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
//创建文件系统实例
FileSystem fs = FileSystem.get(conf);
//创建文件实例
String fileName = "文件或目录名";
Path file = new Path(fileName);
//判断文件是否存在
if(fs.exists(file)){
System.out.println(fileName + "存在");
}else{
System.out.println(fileName + "不存在");
}
//关闭文件系统
fs.close();
}catch (Exception e){
e.printStackTrace();
}
}
}