一.常用类

  1.Configuration

Hadoop配置文件的管理类,该类的对象封装了客户端或者服务器的配置(配置集群时,所有的xml文件根节点都是configuration)

创建一个Configuration对象时,其构造方法会默认加载hadoop中的两个配置文件,分别是hdfs-site.xml以及core-site.xml,这两个文件中会有访问hdfs所需的参数值,主要是fs.default.name,指定了hdfs的地址,有了这个地址客户端就可以通过这个地址访问hdfs了。即可理解为configuration就是hadoop中的配置信息。

  2.FileSystem

该类的对象是一个文件系统对象,对HDFS中的文件进行的一系列操作,如创建等

  3.FileStatus

获取文件或者文件夹的元信息!比如:文件路径,文件大小,文件所有者,所在的块大小,文件修改时间,备份数量,权限等!

  4.FSDataInputStream

输入流对象!可以将HDFS中的文件或者文件夹读取到本地!

  5.FSDataOutputStream

输出流对象! 可以将本地的文件或者文件夹上传到HDFS中!

二.实际应用

  1.

static FileSystem fileSystem=null;
static{
//创建连接
String uri="hdfs://192.168.100.2:9000";
//加载hadoop配置文件
Configuration con=new Configuration();
//创建一个可以操作HDFS的对象
try{
fileSystem=FileSystem.get(URI.create(uri),con)
}catch(IOException e){
e.printStackTrace();
}
}

  2.对文件的操作

1.获取单个文件
public static void catHDFS(String path)throws IOException{
//获取文件路径
FileStatus fileStatus=fileSystem.getFileStatus(new Path(path));
System.out.println(fileStatus);
}
2.查询文件内容
public static void readFile(String fileName)throws IOException{
//获取指定文件路径
FSDateInputStream input=fileSystem.open(new Path(fileName));
//将文件内容装载到BufferedReader对象当中
BufferedReader br=new BufferedReader(new InputStreamReader(input));
String line="";
//循环读取数据
while((line=reader.readLine())!=null){
System.out.println(line);
}
//关闭资源
reader.close();
input.close();
fileSystem.close();
}
3.创建一个文件,并向其中写入内容
public static void createFile(String fileName)throws IOException{
if(fileSystem.exists(new Path(fileName))) {
System.out.println("文件已经存在");
}else {
System.out.println("可以创建");
FSDataOutputStream create=fileSystem.create(new Path(fileName));
String str="wsjxzzgdfq";
create.write(str.getBytes());
create.flush();
create.close();
}
fileSystem.close(); }
4.创建一个空文件夹
public static void mkdir(String fileName)throws IOException{
boolean mkdir=fileSystem.mkdirs(new Path(fileName));
if(mkdir) {
System.out.println("成功");
}else {
System.out.println("失败");
}
fileSystem.close();
}
5.重命名文件或文件夹
public static void rename(String oldName,String newName)throws IOException{
boolean rename=fileSystem.rename(new Path(oldName), new Path(newName));
if(rename) {
System.out.println("成功");
}else {
System.out.println("失败");
}
fileSystem.close();
}
6.重命名文件或文件夹
public static void remove(String fileName)throws IOException{
@SuppressWarnings("deprecation")
boolean delete = fileSystem.delete(new Path(fileName));
if(delete) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
} fileSystem.close();
}
7.从本地(本机)上传文件到HDFS
public static void upfile(String localName,String hdfsName)throws IOException{
//调用上传文件的方法
fileSystem.copyFromLocalFile(new Path(localName), new Path(hdfsName));
fileSystem.close();
}
8.下载文件
public static void downfile(String localName,String hdfsName)throws IOException{
//调用下载文件的方法
fileSystem.copyToLocalFile(new Path(hdfsName), new Path(localName));
fileSystem.close();
}

  3.执行上述方法(把想执行的方法去掉注释就好了)

9.执行方法
public static void main(String[]args) throws Exception{
/*catHDFS("/input/file1.txt");*/
/*readFile("/input/file3.txt");*/
/*createFile("wd.txt");*/
/*mkdir("/wdj");*/
/*rename("/input/file3.txt","/input/file4.txt");*/
/*remove("/wdj");*/
/*upfile("C:\\Users\\wd\\Desktop\\wwww.txt","/input");*/
/*downfile("C:\\Users\\wd\\Desktop","/input/file1.txt");*/
}

使用Eclipse来操作HDFS的文件的更多相关文章

  1. 在eclipse上的hdfs的文件操作

    参考:http://dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/?tdsourcetag=s_pcqq_aiomsg:  http ...

  2. 使用javaAPI操作hdfs

    欢迎到https://github.com/huabingood/everyDayLanguagePractise查看源码. 一.构建环境 在hadoop的安装包中的share目录中有hadoop所有 ...

  3. 大数据之路week07--day01(HDFS学习,Java代码操作HDFS,将HDFS文件内容存入到Mysql)

    一.HDFS概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 ...

  4. 用流的方式来操作hdfs上的文件

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  5. 吴裕雄--天生自然HADOOP操作实验学习笔记:hdfs分布式文件系统安装

    实验目的 复习安装jdk 学习免密码登录 掌握安装配置hdfs集群的方法 掌握hdfs集群的简单使用和检查其工作状态 实验原理 1.hdfs是什么 hadoop安装的第一部分是安装hdfs,hdfs是 ...

  6. eclipse下使用API操作HDFS

    1)使用eclipse,在HDFS上创建新目录 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fil ...

  7. HDFS的Java客户端操作代码(HDFS删除文件或目录)

    1.HDFS删除文件或目录 package Hdfs; import java.io.IOException; import java.net.URI; import org.apache.hadoo ...

  8. java操作hdfs实例

    环境:window7+eclipse+vmware虚拟机+搭建好的hadoop环境(master.slave01.slave02) 内容:主要是在windows环境下,利用eclipse如何来操作hd ...

  9. Hadoop Java API操作HDFS文件系统(Mac)

    1.下载Hadoop的压缩包 tar.gz   https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/ 2.关联jar包 在 ...

随机推荐

  1. 【java】Java相关学习参考链接(持续更新)

    How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析. Java World,https://www.jav ...

  2. 利用ApplicationContextAware装配Bean

    @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationCo ...

  3. Nginx 和 IIS 实现动静分离(转)

    转载地址:https://www.cnblogs.com/paul8339/p/5825201.html 动静分离,说白了,就是将网站静态资源(HTML,JavaScript,CSS,img等文件)与 ...

  4. 咸鱼入门到放弃7--jsp<二>jsp常用标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  5. P1525 关押罪犯 并查集

    题目描述 SS城现有两座监狱,一共关押着NN名罪犯,编号分别为1-N1−N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值) ...

  6. centos没有可用软件包 libgtk2

    在编写一个C程序,使用基于文本的终端图形编程库(curses)或图形界面(QT/GTK),分窗口显示三个并发进程的运行,因为centos并未安装gtk,所以运行命令行安装gtksudo yum -y ...

  7. System优化

    从系统方面考虑,性能通常取决于connection的连接效率和Integration Service所在机器的负荷程度,常见的原因有: 多用户同时使用 不同的网络协议 网络上有多个路由及转换 源和目标 ...

  8. PostgreSQL自学笔记:8 查询数据

    8 查询数据 8.1 基本查询语句 select语句的基本格式是: select {* | 字段1[,字段2,...]} [ from 表1,表2... [where 表达式] [group by & ...

  9. echart折线图系列一:折线图基本配置

    引入echart插件 页面上准备一个容器:<div id="box" style="height:400px;width: 800px;padding: 20px& ...

  10. BBS+Blog项目开发

    BBS+Blog项目开发 目前本项目已经上线,可以直接在GEEK浏览本项目效果:GEEK 1.项目需求 基于ajax和用户认证组件实现登录验证 基于ajax和form组件实现注册功能 系统首页文章列表 ...