由于为了减少代码的重复性所以我选择写2篇的第一篇是环境搭建 链接为:https://blog.csdn.net/qq_43791724/article/details/102895900
初始化
public static String url="hdfs://hadoop01:8020";
FileSystem fileSystem =null;
Configuration configuration=null;
/**
* 初始化
* @throws Exception
*/
@Before
public void init() throws Exception {
configuration= new Configuration();
fileSystem = FileSystem.get(new URI(url),configuration,"hadoop");
}
创建一个文件夹
/**
*创建文件夹
* @throws Exception
*/
@Test
public void mkdir() throws Exception {
fileSystem.mkdirs(new Path("/aa/bb"));
}
创建一个文件并写入内容
/**
* 创建文件
* @throws Exception
*/
@Test
public void create() throws Exception {
// 你要创建的文件路径
FSDataOutputStream out = fileSystem.create(new Path("/usr/2.txt"));
// 输入字符发串内容
out.writeUTF("hello word");
// 关闭资源
out.flush();
out.close();
}
查看文件内容
/**
* 创建文件
* @throws Exception
*/
@Test
public void create() throws Exception {
FSDataOutputStream out = fileSystem.create(new Path("/usr/2.txt"));
// 输入字符发串内容
out.writeUTF("hello word");
// 关闭资源
out.flush();
out.close();
}
修改文件名称
/**
* 修改文件名
*/
@Test
public void rename() throws IOException {
// 第一个路径旧路径
// 第二个路径为改为
fileSystem.rename(new Path("/user"),new Path("/usr"));
}
拷贝本地文件到HDFS系统
/**
* 拷贝本地文件到HDFS系统
* @throws IOException
*/
@Test
public void copyFromLocalFile() throws IOException {
fileSystem.copyFromLocalFile(new Path("E:\\d12\\hadoop\\hdfs\\hadoop_hdfs02\\src\\2.txt"),
new Path("/usr/2.txt"));
}
拷贝HDFS到本地
/**
* 下载HDFS文件 下载到本地
* @throws IOException
*/
@Test
public void copyToLocalFile() throws IOException {
// HDFS 路径
Path src = new Path("/usr/2.txt");
// 本地 路径
Path dst = new Path("E:\\d12\\hadoop\\hdfs\\hadoop_hdfs02\\src\\5.txt");
fileSystem.copyToLocalFile(false,src,dst,true);
}
删除HDFS系统山的文件
@Test
public void delete() throws IOException {
fileSystem.delete(new Path("/hadoop-2.7.3.tar.gz"),true);
}