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