package com.hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.nio.file.Files;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HDFSUtils {

private static final String HDFS_PATH = "hdfs://test1:9000/opt/hadoop-1.2.1/fff/hadooptest.txt";
private static final String HDFS_File_PATH = "hdfs://test1:9000";
private static final String ADD_DIR_PATH = "/firstdir";
private static final String UPLOAD_DIR_PATH = "/firstdir/firstfile";

public static void main(String[] args) throws Exception {
// //读取文件内容
// //将hdfs协议转换成http协议
// URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
// final URL url = new URL(HDFS_PATH);
// final InputStream in = url.openStream();
// /**
// * 读取文件内容
// * @param in 输入流
// * @param out 输出流
// * @param buffsize 缓冲区大小
// * @param close 是否关闭流
// */
// IOUtils.copyBytes(in, System.out, 1024, true);
//获取hdfs文件类
final FileSystem fileSystem = FileSystem.get(new URI(HDFS_File_PATH), new Configuration());
//创建文件夹
// mkdir(fileSystem);
//上传文件
// upload(fileSystem);
//下载文件
// download(fileSystem);
//删除文件
// deleteFile(fileSystem);

}

/**
* @param fileSystem
* @throws IOException
*/
private static void deleteFile(final FileSystem fileSystem)
throws IOException {
fileSystem.delete(new Path(UPLOAD_DIR_PATH), true);
}

/**
* @param fileSystem
* @throws IOException
*/
private static void download(final FileSystem fileSystem)
throws IOException {
FSDataInputStream in = fileSystem.open(new Path(UPLOAD_DIR_PATH));
IOUtils.copyBytes(in, System.out, 1024, true);
}

/**
* @param fileSystem
* @throws IOException
* @throws FileNotFoundException
*/
private static void upload(final FileSystem fileSystem) throws IOException,
FileNotFoundException {
FSDataOutputStream out = fileSystem.create(new Path(UPLOAD_DIR_PATH));
FileInputStream in = new FileInputStream("e:/log.txt");
IOUtils.copyBytes(in, out, 1024, true);
}

/**
* @param fileSystem
* @throws IOException
*/
private static void mkdir(final FileSystem fileSystem) throws IOException {
fileSystem.mkdirs(new Path(ADD_DIR_PATH));
}

}

eclipse 对 hadoop1.2.1 hdfs 文件操作的更多相关文章

  1. Hadoop之HDFS文件操作常有两种方式(转载)

    摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HD ...

  2. hadoop的hdfs文件操作实现上传文件到hdfs

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

  3. HDFS文件操作(命令行)

    HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似 ...

  4. Hadoop之HDFS文件操作

    摘要:Hadoop之HDFS文件操作常有两种方式.命令行方式和JavaAPI方式.本文介绍怎样利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HD ...

  5. JAVA API 实现hdfs文件操作

    java api 实现hdfs 文件操作会出现错误提示: Permission denied: user=hp, access=WRITE, inode="/":hdfs:supe ...

  6. HDFS文件操作

    hadoop装好后,文件系统中没有任何目录与文件 1. 创建文件夹 hadoop fs -mkdir -p /hkx/learn 参数-p表示递归创建文件夹 2. 浏览文件 hadoop fs -ls ...

  7. Hadoop HDFS文件操作

    1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...

  8. thrift实现HDFS文件操作

    thrift 文件如下 namespace java com.pera.file.transform struct  File{     1:string path ,     2:string co ...

  9. eclipse hadoop环境搭建 查看HDFS文件内容

    1.下载插件 hadoop-eclipse-plugin-2.5.2.jar放入eclipse/plugin 2.准备hadoop-2.5.0-cdh5.3.6 使用WinSCP远程连接虚拟机,复制h ...

随机推荐

  1. 解决web资源跨域请求问题

    参考地址: http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到.如果跨域请求被阻止,有可能导致css.j ...

  2. PTA地下迷宫探索

    地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式.地道网是房连房.街连街.村连村的地下工事,如下图所示. 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智. ...

  3. 解决IE浏览器兼容问题的一行代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. git忽略规则.gitignore未生效解决办法

    创建git本地的仓库常用命令:git init #初始化--------生成.git文件 配置本地用户名跟邮箱(这样就知道是谁提交的东西)git config --global user.name [ ...

  5. hbase 快速开发

    hbase是一个分布式的NoSQL,部署起来配置很多东西,开发起来太慢,可以使用docker快速搭建环境 gs@gs-virtual-machine:~$ sudo docker run -ti ha ...

  6. python数据结构-如何在列表、字典、集合中根据条件筛选数据

    如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...

  7. sublime----------快捷键的记录

    1.鼠标选中多行,按下 Ctrl Shift L (Command Shift L) 即可同时编辑这些行: 2.鼠标选中自定义的多行,ctrl+鼠标左键

  8. Vue系列之 => 路由的嵌套

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  9. django开发(二)

    1.django数据库操作---model的使用以及django自带的数据api django中已经做了ORM,表就是一个类class,表中的一个项就是一个对象object,很好用 1.1django ...

  10. flask的简单使用

    一.Flask中的CBV from flask import Flask, render_template from flask import views app = Flask(__name__, ...