第二章HDFS作业 使用JAVA API 实现: 在HDFS上创建文件夹/a/b/c,并在/a/b/c下创建一个由自己名字首字母组成的文件,然后把该文件为重命名为test.txt 要求:附上相关代码
时间: 2024-10-20 18:04:36 浏览: 36
在Hadoop分布式文件系统(HDFS)上使用Java API进行操作,首先需要添加Hadoop的依赖到项目中。以下是使用`java.io.FileSystem`和`org.apache.hadoop.fs.Path`等API来实现创建目录、创建文件并重命名的步骤:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HdfsCreateFolderAndFile {
public static void main(String[] args) throws Exception {
// 创建HDFS配置
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf); // 获取默认的FileSystem实例
// 设置目录路径
Path directoryPath = new Path("/a/b/c");
try {
// 创建目录(如果不存在则创建)
if (!fs.exists(directoryPath)) {
fs.mkdirs(directoryPath);
System.out.println("Directory " + directoryPath + " created successfully.");
} else {
System.out.println(directoryPath + " already exists.");
}
// 使用用户名称的首字母作为文件名
String userName = System.getProperty("user.name").charAt(0) + ".txt";
Path filePath = new Path(directoryPath, userName);
// 创建文件
FSDataOutputStream outputStream = fs.create(filePath);
outputStream.close();
System.out.println("File " + filePath + " created successfully.");
// 重命名文件
Path newNamePath = new Path(directoryPath, "test.txt");
fs.rename(filePath, newNamePath);
System.out.println("File renamed to " + newNamePath + " successfully.");
} finally {
fs.close(); // 确保关闭连接
}
}
}
```
记得在运行这段代码之前,确保已经设置了Hadoop相关的环境变量,如`HADOOP_HOME`指向Hadoop安装目录。
阅读全文