ab520025520025 发表于 2017-12-17 16:42:01

hadoop FileSystem类和SequenceFile类实例

/**  * 列出目录下的文件或目录名称示例
*/  @Test
public void listFiles(){  String urls[]
={"hdfs://s100:8020/user/","hdfs://s100:8020/user/test.txt"};  Configuration configuration
=new Configuration();try {//通过给定的URI方案和权限来确定要使用的文件系统  fs=FileSystem.get(URI.create(urls), configuration);
  //FileStatus类中封装了文件系统中文件和目录的元数据,包括文件的长度、块大小、复本、所有者、及权限信息
  FileStatus file=fs.getFileStatus(new Path(urls));
  //文件大小
  long lenthg=file.getLen();
  //块大小

  long>  //最近修改时间
  long time=file.getModificationTime();
  //复本数
  int n=file.getReplication();
  //所有者
  String owner=file.getOwner();
  //权限信息
  String chmod=file.getPermission().toString();
  System.out.println("user目录下的方件有");
  System.out.println("====================================");
  //调用FileSystem中的listStatus()方法返回一个FileStatus[]数组
  FileStatus[] listFiles=fs.listStatus(new Path(urls));
  //遍历listFiles
  for (int i = 0; i < listFiles.length; i++) {
  FileStatus fileStatus = listFiles;
  System.out.println(fileStatus.getPath().toString());
  }
  System.out.println("user目录下的文件所具有的属性");
  System.out.println("====================================");
  System.out.println("文件大小是:"+lenthg);
  System.out.println("块大小"+size);
  System.out.println("最近修改时间:"+time);
  System.out.println("复本数"+n);
  System.out.println("文件所有者"+owner);
  System.out.println("权限信息"+chmod);
  //关闭输入流
  
            fs.close();
  } catch (IOException e) {
  e.printStackTrace();
  }
  }
页: [1]
查看完整版本: hadoop FileSystem类和SequenceFile类实例