奇忠诚 发表于 2018-10-29 09:55:53

Hadoop学习--通过API访问本地文件系统--day04

  import java.io.ByteArrayOutputStream;
  import java.io.InputStream;
  import java.net.URL;
  import org.apache.hadoop.conf.Configuration;
  import org.apache.hadoop.fs.FSDataInputStream;
  import org.apache.hadoop.fs.FileStatus;
  import org.apache.hadoop.fs.FileSystem;
  import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
  import org.apache.hadoop.fs.LocalFileSystem;
  import org.apache.hadoop.fs.Path;
  import org.apache.hadoop.io.IOUtils;
  import org.junit.Test;
  /**
  * 测试hadoop文件系统的API
  *
  * @author Administrator
  *
  */

  public>  /**
  * 通过filesystem对象API得到本地文件系统
  *
  * @author Administrator
  *
  *
  *
  *
  */
  @Test
  public void read() throws Exception {
  // 创建configuration对象,有个默认的加载顺序,先从core-default.xml,再到src目录中的文件,这
  //里我们给定了
  Configuration conf = new Configuration();
  // 可以手动添加指定的配置文件
  // conf.addResource("my-core-site.xml");
  // 通过conf的configuration对象创建了该分布式文件系统fs,默认如果不指定文件的话为本地文件系
  //统
  FileSystem fs = FileSystem.get(conf);
  //通过getLocal方法得到本地文件系统对象
  LocalFileSystem local = fs.getLocal(conf);
  //通过本地文件对象的listStatus方法得到一个文件状态的数组
  FileStatus[] arr = local.listStatus(new Path("D:/"));
  //遍历数组
  for(FileStatus fs0 : arr){
  System.out.println(fs0.getPath());
  }
  }
  }

页: [1]
查看完整版本: Hadoop学习--通过API访问本地文件系统--day04