用JAVA API实现HDFS常用shell命令的功能(新建文件夹,上传文件,下载文件,判断文件是否存在)
- 新建文件夹
package hdfs.files;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;import java.io.IOException;public class HDFSMKdir {public static void main(String[] args) throws IOException {//设置root权限System.setProperty("HADOOP_USER_NAME", "root");//创建HDFS连接对象clientConfiguration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://yy001:9000");FileSystem client = FileSystem.get(conf);//在HDFS的根目录下创建aadirclient.mkdirs(new Path("/aadir"));//关闭连接对象client.close();//输出"successful!"System.out.println("successfully!");}
}
- 上传文件
package hdfs.files;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;public class HDFSUpload {//声明输入流、输出流private static InputStream input;private static OutputStream output;public static void main(String[] args) throws IOException {//设置root权限System.setProperty("HADOOP_USER_NAME", "root");//创建HDFS连接对象clientConfiguration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://yy001:9000");FileSystem client = FileSystem.get(conf);//创建本地文件的输入流input = new FileInputStream("D:\\aa.txt");//创建HDFS的输出流output = client.create(new Path("/a.txt"));//写文件到HDFSbyte[] buffer = new byte[1024];int len = 0;while ((len = input.read(buffer)) != -1) {output.write(buffer, 0, len);}//防止输出数据不完整output.flush();//使用工具类IOUtils上传或下载//IOUtils.copy(input, output);//关闭输入输出流input.close();output.close();System.out.println("成功!");}
}
- 下载文件
package hdfs.files;import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;import java.io.*;public class HDFSDownload {//声明输入流、输出流private static InputStream input;private static OutputStream output;public static void main(String[] args) throws IOException {//设置root权限System.setProperty("HADOOP_USER_NAME", "root");//创建HDFS连接对象clientConfiguration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://yy001:9000");FileSystem client = FileSystem.get(conf);//创建本地文件的输出流output = new FileOutputStream("d:\\cccout.txt");//创建HDFS的输入流input = client.open(new Path("/aadir/aaout.txt"));//写文件到HDFSbyte[] buffer = new byte[1024];int len = 0;while ((len = input.read(buffer)) != -1) {output.write(buffer, 0, len);}//防止输出数据不完整output.flush();//使用工具类IOUtils上传或下载//IOUtils.copy(input, output);//关闭输入输出流input.close();output.close();System.out.println("成功!");}
}
- 判断文件是否存在
package hdfs.files;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
public class HDFSFileIfExist {public static void main(String[] args) throws IOException {//设置root权限System.setProperty("HADOOP_USER_NAME", "root");//创建HDFS连接对象clientConfiguration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://yy001:9000");FileSystem client = FileSystem.get(conf);//声明文件对象String fileName = "/aadir/aaout.txt";//判断文件是否存在if (client.exists(new Path(fileName))) {System.out.println("文件存在!");} else {System.out.println("文件不存在!");}}}
用JAVA API实现HDFS常用shell命令的功能(新建文件夹,上传文件,下载文件,判断文件是否存在)相关推荐
- HDFS文件夹上传和下载等命令
目录 零.码仙励志 一.用浏览器查看hdfs目录下的文件夹和文件 二.HDFS命令 零.码仙励志 白茶清欢无别事,我在等风也等你 一.用浏览器查看hdfs目录下的文件夹和文件 在浏览器中输入IP地址+ ...
- java struts2下载文件_Struts2下多文件的上传与下载
Struts2下多文件的上传与下载 目录 多文件 上传 下载 随意文件java Struts2单例 配置 动态读取 李顺利 在网络上,对于Java处理文件上传和下载的技术比较多,而Struts作为一款 ...
- Hadoop之HDFS常用Shell命令
Hadoop之HDFS常用Shell命令 启动Hadoop集群 sbin/start-dfs.shsbin/start-yarn.sh -help:输出这个命令参数 hadoop fs -help r ...
- Hadoop环境下用java代码实现hdfs远程文件的上传和下载
Hadoop环境下用java代码实现hdfs远程文件的上传和下载 文章目录 Hadoop环境下用java代码实现hdfs远程文件的上传和下载 一.新建maven工程 二.文件的上传 三.文件的下载 四 ...
- nginx java文件上传_Nginx实现文件的上传和下载
文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { listen ; ...
- java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接.登陆.上传.下载.删除文件.获取目录.文件列表等操作. 本地调试,首先需要在本机上开启ftp服务和ftp站点. 测试代码 ...
- java图片上传下载_java实现文件的上传和下载
1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...
- 初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
最新文章
- CTF题目中遇到的PHP考点总结(一)
- 试用c51语言采样连续5次异常_学会这些自闭症儿童语言训练技巧,孩子开口说话不再困难...
- 量子计算机设计理念和思路,课程的设计理念与思路
- 41 FI配置-财务会计-固定资产-组织结构-定义资产分类
- 关于Oracle安装完毕后,登录时遇到的错误的解决的方法
- TI AM335x Linux MUX hacking
- SAP中程序从服务器下载所对应的文件
- ffmpeg海康SDK流接入的支持
- avod论文理解与代码解读
- masm32汇编基础
- 6. 文本分类——transformer模型
- MacBook使用HHKB键盘设置
- AirSim学习和踩坑记录(不定时更新)
- 第二课等效变化与基尔霍夫定律
- 游戏测试和普通测试有什么区别?
- 我为什么要写博客,写博客的意义是什么??
- Java实现RPG游戏(mini版pokemon)
- Mybatis实现存取Mysql的Json字段映射Java对象
- PMP考点梳理大全(考生必看)-6.5
- opencv 基本算子,LOG算子-墨西哥草帽算子,canny算子