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 class localfilesytem {


/**

* 通过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());

}


}

}