不單獨說明了,代碼中的注釋很詳細了
/**
*
* Description: 這個例子用于展示Hadoop的FSDataInputStream的流定位能力
* @author charles.wang
* @created Mar 13, 2012 9:21:34 AM
*
*/
public class FileSystemCatSeekable {
public static void main(String [] args) throws Exception{
//擷取指令行參數
String uri = args[0];
Configuration conf = new Configuration();
conf.set("hadoop.job.ugi", "root,root123");
//打開一個Hadoop FileSystem ,用FileSystem的靜态方法擷取之
FileSystem fs = FileSystem.get(URI.create(uri) ,conf);
//打開一個InputStream 對象
FSDataInputStream in = null;
try{
//讓其指向FileSystem中由指令行提供的uri對應的路徑
in =fs.open(new Path (uri));
//第一次讀取
IOUtils.copyBytes(in, System.out, 20, false);
//讓讀頭重新定位到檔案起始地方
in.seek(0);
//第二次讀取
}catch (Exception ex){
ex.printStackTrace();
}finally{
in.close();
}
}
}
本文轉自 charles_wang888 51CTO部落格,原文連結:http://blog.51cto.com/supercharles888/840725,如需轉載請自行聯系原作者