HDFS的Java接口

来源:互联网 发布:炽热狙击网络连接失败 编辑:程序博客网 时间:2024/06/07 00:44
package cn.itcast.hadoop.hdfs;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URI;import java.net.URISyntaxException;import javax.imageio.stream.FileImageInputStream;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.junit.Before;import org.junit.Test;public class HDFSDemo {FileSystem fs = null;@Beforepublic void init() throws IOException, URISyntaxException, InterruptedException{//首先创建FileSystem的实现类(工具类)fs = FileSystem.get(new URI("hdfs://fuyuhao01:9000"), new Configuration(),"root");}@Testpublic void testUpload() throws IOException{//读取本地文件系统的文件,返回输入流InputStream in = new FileInputStream("/root/hadoop-hdfs-2.2.0.jar");//在HDFS上创建一个文件,返回输出流OutputStream out = fs.create(new Path("/test.jar"));//将输入流写出到输出流IOUtils.copyBytes(in, out, 4096, true);}@Testpublic void testDownload() throws IllegalArgumentException, IOException{fs.copyToLocalFile(new Path("/hadoop"), new Path("/root/hadoop111"));}@Testpublic void testMkdir() throws Exception{boolean mkdir = fs.mkdirs(new Path("/fuyuhao0106"));System.out.println(mkdir);}@Testpublic void testDel() throws Exception{boolean flag = fs.delete(new Path("/fuyuhao0106"), true);System.out.println(flag);}public static void main(String[] args) throws IOException, URISyntaxException {// TODO Auto-generated method stubFileSystem fs = FileSystem.get(new URI("hdfs://fuyuhao01:9000"), new Configuration());InputStream in = fs.open(new Path("/hadoop"));OutputStream out = new FileOutputStream("/root/hd");IOUtils.copyBytes(in, out, 4096, true);}}

0 0