Hadoop HDFS 整合 上传 下载 删除
新建一个Java项目,导入jar,新建一个测试类,编写代码实现文件操作功能:
package com.bw.test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Before;
import org.junit.Test;
/**
*
* @类描述 :
* @作者 :
* @日期 : 2016-7-8 下午5:10:22
*
*/
public class test3 {
//hdfs操作入口
FileSystem fileSystem = null;
@Before
public void setUp() throws Exception {
URI uri = new URI("hdfs://192.192.192.3:9000");
Configuration configuration = new Configuration();
fileSystem = FileSystem.get(uri, configuration,"root");
}
@Test
public void list() throws Exception {
//递归方式取得指定目录下的文件信息
FileStatus[] liFileStatus = fileSystem.listStatus(new Path("/"));
//输出取得的文件权限和文件名称
for (FileStatus fileStatus : liFileStatus) {
System.out.println(fileStatus.getPermission()+" "+fileStatus.getPath());
}
}
//上传
@Test
public void put() throws Exception {
//是否覆盖同名文件(前提是也在同一目录下)标志位
boolean overwrite = true;
//DFS文件输出流
FSDataOutputStream outputStream = fileSystem.create(new Path("/hbase-1.1.2-bin.tar.gz"),overwrite);
//本地输入流
InputStream inputStream = new FileInputStream("C:\\Users\\YAN\\Desktop\\开发指南\\Hadoop\\05. HBase使用指南\\安装程序\\hbase-1.1.2-bin.tar.gz");
//使用工具类上传
IOUtils.copy(inputStream, outputStream,4096);
}
//下载
@Test
public void get() throws Exception {
//DFS文件输入流
FSDataInputStream inputStreamOption = fileSystem.open(new Path("/hbase-1.1.2-bin.tar.gz"));
//本地文件输出流
OutputStream outputStream = new FileOutputStream("E:\\hbase-1.1.2-bin.tar.gz");
//使用工具类下载
IOUtils.copy(inputStreamOption, outputStream,4096);
}
//删除
@Test
public void del() throws Exception {
//是否删除
boolean b = true;
//DFS文输入流
fileSystem.delete(new Path("/input"),b);
}
}
Hadoop HDFS 整合 上传 下载 删除的更多相关文章
- 使用C#WebClient类访问(上传/下载/删除/列出文件目录)由IIS搭建的http文件服务器
前言 为什么要写这边博文呢?其实,就是使用C#WebClient类访问由IIS搭建的http文件服务器的问题花了我足足两天的时间,因此,有必要写下自己所学到的,同时,也能让广大的博友学习学习一下. 本 ...
- fastDFS与Java整合上传下载
由于项目需要整合个文件管理,选择使用的是fastDFS. 整合使用还是很方便的. 准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugin ...
- 使用C#WebClient类访问(上传/下载/删除/列出文件目录)
在使用WebClient类之前,必须先引用System.Net命名空间,文件下载.上传与删除的都是使用异步编程,也可以使用同步编程, 这里以异步编程为例: 1)文件下载: static void Ma ...
- SpringMVC ajax技术无刷新文件上传下载删除示例
参考 Spring MVC中上传文件实例 SpringMVC结合ajaxfileupload.js实现ajax无刷新文件上传 Spring MVC 文件上传下载 (FileOperateUtil.ja ...
- java FTP 上传下载删除文件
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...
- SSM整合 上传下载之添加商品
上传下载细节: 导入xml配置文件!! Controller中要配置存储路径,调用transferto上传文件 上传图片 要将图片的类设置为 MultipartFile 图片下载: 源码: 页面展示: ...
- 用jsch.jar实现SFTP上传下载删除
java类: 需要引用的jar: jsch-0.1.53.jar 关于jsch有篇文章关于目录的问题写得非常好:http://www.zzzyk.com/show/9f02969327434a6c.h ...
- java操作FTP,实现文件上传下载删除操作
上传文件到FTP服务器: /** * Description: 向FTP服务器上传文件 * @param url FTP服务器hostname * @param port FTP服务器端口,如果默认端 ...
- Struts2 文件上传,下载,删除
本文介绍了: 1.基于表单的文件上传 2.Struts 2 的文件下载 3.Struts2.文件上传 4.使用FileInputStream FileOutputStream文件流来上传 5.使用Fi ...
随机推荐
- 初次安装git配置用户名和邮箱及密钥
在Windows上安装Git: 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安装完成后 键盘敲上:windows+r你会看 ...
- centos 7 nginx 远程无法访问的原因
1.购买的阿里云需要添加安全组 80端口就可以用了 2.检查防火墙是否关闭 systemctl stop firewalld 这点很重要 我就是查了一天才发现centos7 防火墙开着 难怪几把搞 如 ...
- CUDA库函数module management
http://horacio9573.no-ip.org/cuda/group__CUDA__MODULE_ga52be009b0d4045811b30c965e1cb2cf.html
- L153
警言是指传达一般真理或某种言论的短小句子.An aphorism is a short witty sentence which expresses a general truth or commen ...
- Unity3D查找丢失材质和脚本工具
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...
- libcurl 错误码总结
下载出现这种错误(Requested range was not delivered by the server ),说明是重复下载,删掉本地的再下载就不会出现了
- HDU 1452
http://acm.hdu.edu.cn/showproblem.php?pid=1452 原来真心没见过这种题,不会做,非常帅 gcd(a,b)==1 && s(a,b)==s(a ...
- linux远程win7教程
http://jingyan.baidu.com/article/c275f6bacd2227e33c756754.html 1 在ubuntu下搜索Remmina(超级方便,应该也可以控制linux ...
- [Python]定时任务框架 APScheduler
1.使用APScheduler教程 参考博客地址
- 新的开源java反汇编程序Procyon
wiki:https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler 由于jd好多年没更新了,今天找到这个新的开源反汇编,很不错 分享一 ...