import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.util.Progressable;
public class FileCopyWithProgress {
public static void main(String[] args) throws IOException {
String scr=args[0];
String dst=args[1];
InputStream in=new BufferedInputStream(new FileInputStream(scr));
Configuration conf=new Configuration();
FileSystem fs=FileSystem.get(URI.create(dst), conf);
OutputStream out=fs.create(new Path(dst), new Progressable() {
@Override
public void progress() {
System.out.print(".");
}
}); //porcess()方法每次输出了输出64k字节的时候执行
IOUtils.copyBytes(in, out, 4096, true);
}
}
将本地文件复制到hadoop文件系统。hadoop文件系统不仅仅指hdfs文件系统,hdfs文件系统只是其中的一个实现。
上传一个较大的文件可以看得控制台上打出的 .