zoukankan      html  css  js  c++  java
  • HDFS之FileStatus

      任何文件系统的一个重要特性都是提供其目录结构浏览和检索它所存文件和目录相关信息的功能。FileStatus对象封装了文件系统中文件和目录的元数据,包括文件的长度、块大小、备份数、修改时间、所有者以及权限等信息。

      FileStatus对象由FileSystem的getFileStatus()方法获得,调用该方法的时候要把文件的Path传进去。

      例子:打印输出某个文件的所有信息

     1 package com.hdfs;
     2 
     3 import org.apache.hadoop.conf.Configuration;
     4 import org.apache.hadoop.fs.FSDataInputStream;
     5 import org.apache.hadoop.fs.FSDataOutputStream;
     6 import org.apache.hadoop.fs.FileStatus;
     7 import org.apache.hadoop.fs.FileSystem;
     8 import org.apache.hadoop.fs.FileUtil;
     9 import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
    10 import org.apache.hadoop.fs.Path;
    11 import org.apache.hadoop.io.IOUtils;
    12 import org.apache.hadoop.util.Progressable;
    13 
    14 public class HdfsTest1 {
    15     //显示文件所有信息
    16     public static void fileInfo(String path) throws IOException{
    17         Configuration conf = new Configuration();
    18         FileSystem fs = FileSystem.get(conf);
    19         Path p = new Path(path);
    20         //FileStatus对象封装了文件的和目录的额元数据,包括文件长度、块大小、权限等信息
    21         FileStatus fileStatus = fs.getFileStatus(p);
    22         System.out.println("文件路径:"+fileStatus.getPath());
    23         System.out.println("块的大小:"+fileStatus.getBlockSize());
    24         System.out.println("文件所有者:"+fileStatus.getOwner()+":"+fileStatus.getGroup());
    25         System.out.println("文件权限:"+fileStatus.getPermission());
    26         System.out.println("文件长度:"+fileStatus.getLen());
    27         System.out.println("备份数:"+fileStatus.getReplication());
    28         System.out.println("修改时间:"+fileStatus.getModificationTime());
    29     }
    30     public static void main(String[] args) throws IOException {
    31         fileInfo("/user/hadoop/aa.mp4");
    32     }
    33 
    34 }

    输出结果为:

    文件路径:hdfs://master:9000/user/hadoop/aa.mp4
    块的大小:67108864
    文件所有者:hadoop:supergroup
    文件权限:rw-r--r--
    文件长度:76805248
    备份数:3
    修改时间:1371484526483

  • 相关阅读:
    大文件上传
    http协议
    memcache通过hash取模算法,实现多服务器存取值
    页面静态化案例---一键生成详情页面静态化(全站静态化+局部动态)
    页面静态化案例---一键生成详情页面静态化(全站静态化)
    页面静态化案例---数据列表静态化
    LCD1602液晶显示模块的单片机驱动深入详解之硬件篇
    ANDROID开发之GC_CONCURRENT freed
    ANDROID开发之OOM:一张图片(BitMap)占用内存的计算 图片内存优化
    ANDROID开发 Fatal signal 11(SIGSEGV) at 0x问题解决方案
  • 原文地址:https://www.cnblogs.com/liuling/p/2013-6-18-01.html
Copyright © 2011-2022 走看看