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());
}
}
}