package cn.hx.test;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.io.IOUtils;
import org.apache.log4j.BasicConfigurator; import java.io.FileInputStream;
import java.io.IOException;
import java.net.URI; public class test1 {
public static void main(String[] args) throws IOException {
BasicConfigurator.configure();
try {
//链接hdfs的URL
URI uri = new URI("hdfs://192.168.22.131:9000");
Configuration conf = new Configuration();
FileSystem fileSystem = FileSystem.get(uri, conf); //filestatus表示hdfs中的每一个文件夹
FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));
for (FileStatus fileStatus : listStatus) { System.out.println(fileStatus);
System.out.println("文件路径:" + fileStatus.getPath());
System.out.println("是否是一个目录:" + fileStatus.isDirectory());
System.out.println("修改时间:" + fileStatus.getModificationTime());
System.out.println("访问时间:" + fileStatus.getAccessTime());
System.out.println("所有者:" + fileStatus.getOwner());
System.out.println("用户:" + fileStatus.getGroup());
System.out.println("文件权限:" + fileStatus.getPermission());
System.out.println("是否是?:" + fileStatus.getSymlink()); }
} catch (Exception e) {
}
}
//下载文件
private static void open(FileSystem fileSystem) throws IOException {
FSDataInputStream in = fileSystem.open(new Path("/test/1"));
IOUtils.copyBytes(in, System.out, 1024, true);
} //上传文件
private static void put(FileSystem fileSystem) throws IOException {
FSDataOutputStream out = fileSystem.create(new Path("/test/1"));
FileInputStream in = new FileInputStream("\u202AE:\\BigDataVideos\\Hadoop 7\\2015-12-30 【hadoop】\\edits.xml");
IOUtils.copyBytes(in, out, 1024, true);
} }

结果:

HDFS之FileSystem的更多相关文章

  1. 4、记录1----获取hdfs上FileSystem的方法 记录2:正则匹配路径:linux、hdfs

    /** * 获取hadoop相关配置信息 * @param hadoopConfPath 目前用户需要提供hadoop的配置文件路径 * @return */ public static Config ...

  2. hdfs的FileSystem实例化

    前言 在spark中通过hdfs的java接口并发写文件出现了数据丢失的问题,一顿操作后发现原来是FileSystem的缓存机制.补一课先 FileSystem实例化 FileSystem.get(c ...

  3. HDFS中Java的API使用测试

    import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.Scanner ...

  4. Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS(一)

    不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs5; import java.io.IOException; import ja ...

  5. FileSystem实例化过程

    HDFS案例代码 Configuration configuration = new Configuration(); FileSystem fileSystem = FileSystem.get(n ...

  6. HDFS文件系统基本文件命令、编程读写HDFS

    基本文件命令: 格式为:hadoop fs -cmd <args> cmd的命名通常与unix对应的命令名相同.例如,文件列表命令: hadoop fs -ls 1.添加目录和文件 HDF ...

  7. HDFS操作--文件上传/创建/删除/查询文件信息

    1.上传本地文件到HDFS //上传本地文件到HDFS public class CopyFile { public static void main(String[] args) { try { C ...

  8. HDFS基本原理及数据存取实战

    ---------------------------------------------------------------------------------------------------- ...

  9. HDFS基础

    1. HDFS Shell基础 [root@master hadoop]# hadoop fsUsage: hadoop fs [generic options] [-appendToFile < ...

随机推荐

  1. Java线程和多线程(九)——死锁

    Java中的死锁指的就是一种多于两个线程永远阻塞的特殊状况.Java中的死锁状态至少需要多于两个线程以及资源的时候才会产生.这里,我写了一个产生死锁的程序,并且讲下如何分析死锁. 首先来看一下产生死锁 ...

  2. Android开发——View绘制过程源码解析(一)

    )UNSPECIFIED:表示View可以设置成任意的大小,没有任何限制.这种情况比较少见. 2. MeasureSpec的生成过程 2.1 顶级View的MeasureSpec // desired ...

  3. Linux - 信息收集

    1. #!,代表加载器(解释器)的路径,如: #!/bin/bash echo "Hello Boy!" 上面的意思是说,把下面的字符(#!/bin/bash以下的所有字符)统统传 ...

  4. 读取Excel错误,未在本地计算机上注册 oledb.4.0

          以前写的一个读取Excel的程序,现在在另外一台机器上运行,竟然报错说"未在本地计算机上注册 oledb.4.0"       最后才知道,原来是因为现在运行的那台电脑 ...

  5. python基础——元组、文件及其它

    Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...

  6. 在 Ubuntu 16.04 LTS 上安装 Python 3.6.0

    原文连接:https://segmentfault.com/a/1190000007912666 最近 Python 3 发布了新版本 Python 3.6.0,好像又加入了不少黑魔法!- 由于暂时不 ...

  7. appium + Python + iOS 滑屏方法(appium版本大于1.5)

    之前一直在搞android的自动化,滑动操作一直都用swipe(),比如: he1 = int(dr.get_window_size()['height'] * 0.8)he2 = int(dr.ge ...

  8. CSS层叠样式表的解释

    css:    在标签上设置style属性css注释:     /*z注释内容*/css样式的编写位置:    1.在标签的的style属性里    2.在head里面,style标签中写样式     ...

  9. windows本地连接腾讯云的mysql服务器

    由于最近数据库需要用上Navicat作为数据库,但是我的mysql装在腾讯云的Ubuntu上,因此需要做些配置开放端口,和监听端口,因此略显麻烦,这里记录一下连接的具体步骤,方便以后又得装(flag) ...

  10. 剑指offer-跳台阶08

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). class Solution: def jumpFloor(self, ...