主代码
package api;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;/** * 使用流的方式上传下载 * @author potter * */public class HDFS_GET_AND_PUT { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://potter2:9000"); System.setProperty("HADOOP_USER_NAME","potter"); FileSystem fs = FileSystem.get(conf); //上传// fs.copyFromLocalFile(new Path("D:/aaa.txt"), new Path("/")); //下载// fs.copyToLocalFile(new Path("/aaa.txt"), new Path("D:/sss.txt")); /** * 使用流的方式上传文件 */ //读取本地文件 InputStream in = new FileInputStream("D:/111.zip"); //在Hdfs上创建一个文件,返回输出流 OutputStream out = fs.create(new Path("/111.zip")); //输入 ---》 输出 IOUtils.copyBytes(in, out, 4096, true); /** * 使用流的方式下载文件 */ //读取HDFS上的文件 /*InputStream in = fs.open(new Path("/words.txt")); //在本地创建一个文件,返回输出流 OutputStream out = new FileOutputStream("D:/word.txt"); IOUtils.copyBytes(in, out, 4096, true);*/ fs.close(); }}