Hadoop通过URL方式下载文件: 注意如下
InputStream inputStream = new URL(“hdfs://Master:9000/user/hadoop/file1.txt”).openStream();//获取文件输入流
里面的路径,是你hadoop运行的IP地址以及端口号,端口号参照core-site.xml配置的端口号 后面的是hdfs 的文件路径
FileOutputStream outputStream = new FileOutputStream(new File("/home/hadoop/Desktop/file1_out.txt"));获取文件输出流
new File("/home/hadoop/Desktop/file1_out.txt")这个路径必须是以文件结尾,不能以文件夹结尾,如何没有文件将会自动创建
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
public class urlHdfsDemo {
public static void main(String [] args) throws Exception {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());//注册hdfs的URL
InputStream inputStream = new URL("hdfs://Master:9000/user/hadoop/file1.txt").openStream();//获取文件输入流
FileOutputStream outputStream = new FileOutputStream(new File("/home/hadoop/Desktop/file1_out.txt"));获取文件输出流
IOUtils.copy(inputStream, outputStream);//实现文件的拷贝
IOUtils.closeQuietly(inputStream);//关闭流
IOUtils.closeQuietly(outputStream);
}
}