使用FSDataInputStream的seek方法实现重复输出文件系统文件
FSDataInputStream用法:
该类尽量少用,尽量用流数据来构建数据的访问模式(如:mapreduce),而非大量的seek();
package com.digitalchina.test;import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;public class HadoopUrl {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString uri="";FSDataInputStream in=null;Configuration conf=new Configuration();try {FileSystem fs=FileSystem.get(URI.create(uri), conf);in=fs.open(new Path(uri));in.seek(0);IOUtils.copyBytes(in, System.out,4096, false);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{IOUtils.closeStream(in);}}}