进口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年,真正的);,
,,}
}