hadoop 关于 java api 的使用

本文介绍了如何在Java中使用Hadoop API进行文件操作,包括文件上传、创建、读写、重命名及删除等基本操作,并提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于 hadoop 在 java 中 api 的调用

在使用前,请确保 hadoop-client 包已经成功导入

<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>3.3.0</version>
</dependency>
准备工作
// 设置登录用户,确保不会出现权限不足的问题
System.setProperty("HADOOP_USER_NAME","root");
// 新建配置文件对象,请确认导入的类是 hadoop 相关
Configuration conf = new Configuration();
// 给配置文件设置 HDFS 文件系统的默认入口地址,根据情况自行修改参数
conf.set("fs.defaultFS","hdfs://192.168.168.136:9000");
// 通过配置文件,开启文件系统。会抛出 IOException 错误
FileSystem fs = FileSystem.get(conf);
结束工作
// 在完成操作后,记得关闭 文件系统 FileSystem
if( fs != null ){
	fs.close();
}
文件操作相关 api
文件夹创建
// 设置文件夹路径
Path path = new Path("/hello");
// 创建文件夹,返回boolean
fs.mkdirs(path);
文件创建
// 设置要创建的文件的路径
Path path = new Path("/hello/a.txt");
// 创建文件
fs.createNewFile(path);
从windows上传文件
// 设置文件上传的位置
Path path = new Path("/");
// 设置文件当前的位置
Path path1 = new Path("file:///E:/hello.txt");
// 文件上传
fs.copyFromLocalFile(path1,path)
写入内容到文件
// 设置文件所在路径
Path path = new Path("/hello.txt");
// FileSystem 通过 create 方法获得输入流,3个参数分别是 路径,是否可写,最大可写入
FSDataOutputStream fos = fs.create(path,true,1024);
// 通过输出流写入内容到文件中,写入的内容是 byte 格式
fos.write("hello".getBytes);
// 关闭输出流
fos.close();
读取文件内容并显示
// 设置文件位置
Path path = new Path("/hello.txt");
// 通过 FileSystem 的 open() 获取输入流
FSDataInputStream open = fs.open(path);
// 设置 1024 字节的缓冲区
byte[] buf = new byte[1024];
int len = 0;
// 循环读取内容到缓冲区,直到文件末尾结束(标识符为 -1)
while( (len = open.read(buf)) != -1){
    // 将缓冲区内容打印到控制台
    System.out.print( new String(buf,0,len) )
}
//关闭文件输入流
open.close();
文件重命名
// 设置当前文件路径
Path path = new Path("/hello/a.txt");
// 设置修改后的文件路径
Path path1 = new Path("/hello/hello.txt");
// 文件重命名
fs.rename(path,path1);
删除目录
// 设置要删除的文件或文件夹路径
Path path = new Path("/hello/hello.txt");
// 删除文件
fs.delete(path,true);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值