创建Test1.java, 判断HDFS 上是否存在目录 /test,若存在此目录,先将它删除,再重新创建,若不存在,则直接创建此目录
时间: 2024-12-14 20:20:07 浏览: 21
要在Java中操作Hadoop分布式文件系统(HDFS)并管理目录,你需要使用`Apache Hadoop`库中的`HadoopFileSystem`接口。首先,确保你已经添加了Hadoop的相关依赖到你的项目中。
以下是一个简单的示例,展示了如何使用`Hadoop` API来实现这个功能。假设你已经在`Test1.java`中包含了`HadoopConfiguration`、`FileSystem`等必要的import:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class Test1 {
public static void main(String[] args) throws Exception {
// 设置Hadoop配置
Configuration conf = new Configuration();
String hdfsUrl = "hdfs://your_hdfs_cluster_address"; // 替换为你集群的实际地址
conf.set("fs.defaultFS", hdfsUrl);
try (FileSystem fs = FileSystem.get(conf)) {
// 检查目录是否存在
Path dirPath = new Path("/test");
boolean exists = fs.exists(dirPath);
if (exists) {
System.out.println("Directory /test already exists. Deleting...");
fs.delete(dirPath, true); // 强制删除目录及所有内容(包括子目录)
}
// 如果不存在则创建目录
if (!fs.mkdirs(dirPath)) {
throw new RuntimeException("Failed to create directory /test");
}
System.out.println("Directory /test created successfully.");
}
}
}
```
记得替换`"hdfs://your_hdfs_cluster_address"`为你的实际HDFS URL。运行此程序前,请确保HDFS服务已启动并且集群地址设置正确。
阅读全文