/**
* 下载
* @throws Exception
*/
@Test
public void copyToLocal() throws Exception
{
fs.copyToLocalFile(Path("/hello.txt"),new Path("e:/test.txt"));
* 下载
* @throws Exception
*/
@Test
public void copyToLocal() throws Exception
{
fs.copyToLocalFile(Path("/hello.txt"),new Path("e:/test.txt"));
}
当copyToLocalFile方法只有两个参数的时候运行该方法会报java.lang.NullPointerException。
解决办法
1.通过org.apache.hadoop.io.IOUtils.copyBytes进行读取之后直接写入到本地文件中
InputStream in = null;
in = fs.open(new Path("/hello.txt"));
IOUtils.copyBytes(in,new FileOutputStream(new File("E:/test.txt")),4096,false);
2.通过copyToLocalFile(boolean delSrc,Path src,Path dst,boolean useRawLocalFileSystem)方法来进行下载
参数: delSrc -- 是否删除源文件
useRawLocalFileSystem -- 不使用本地原始文件系统作为文件系统
fs.copyToLocalFile(false,new Path("/hello.txt"),new Path("e:/test.txt"),true);