Hadoop学习——寻求重定位流——day04

进口java.io.ByteArrayOutputStream;

进口java.io.FileInputStream;

进口java.io.FileOutputStream;

进口java.io.InputStream;

进口java.net.URL;


进口org.apache.hadoop.conf.Configuration;

进口org.apache.hadoop.fs.FSDataInputStream;

进口org.apache.hadoop.fs.FSDataOutputStream;

进口org.apache.hadoop.fs.FileSystem;

进口org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

进口org.apache.hadoop.fs.Path;

进口org.apache.hadoop.io.IOUtils;

进口org.junit.Test;


公共类寻求{


/* *

*通过API实现寻求操作*,

* @author管理员*,

* [hadoop@hadoop01 ~]美元hdfs dfs chmod - r + w/user/hadoop

* [hadoop@hadoop01 ~]美元hdfs dfs - ls - r/

* *,

*/

@Test

公共空间seekfile()抛出异常{

//创建配置对象,有个默认的加载顺序,先从core-default.xml,再到src目录中的文件,这里

//我们给定了

,,,,配置配置=new配置();

//通过配置的配置对象创建了该分布式文件系统fs,默认如果不指定文件的话为本地文件系统

,,,,文件系统fs=FileSystem.get(参看);

,,,,//定义一个URL的字符串

,,,,字符串文件=" hdfs://hadoop01:9000/user/hadoop/data2/kaola.jpg”;

,,,,//通过一个URL的字符串构建一个路径对象

,,,,路径路径=new路径(文件);

,,,,=fs.open FSDataInputStream(路径),

,,,,//流对拷

,,,,IOUtils。新FileOutputStream copyBytes ((“E:/kaola1.jpg”), 1024年,false);

//重新定位到文件起始点,只有FSDataInputStream才有实现寻求接口,FSDataOutputStream没有

,,,,in.seek (0);

,,,,IOUtils。新FileOutputStream copyBytes ((“E:/kaola2.jpg”), 1024年,真正的);,

,,}

}


Hadoop学习——寻求重定位流——day04