环境:Hadoop 2.7.3
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.zookeeper.common.IOUtils;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
/**
* Created by LCY on 4/2/2018.
* 对HDFS执行上传文件、上传目录、查看文件、查看目录、删除文件等操作
*/
public class HDFSUtils {
/**
* 在HDFS创建新的目录
*
* @param uri HDFS地址,比如: 'hdfs://192.168.12.12'
* @param dir 路径,比如: '/tmp/testdir'
* @return boolean true-success, false-failed
* @exception IOException something wrong happends when operating files
*/
public boolean mkdir(String uri,String dir) {
try {
if (StringUtils.isBlank(dir)) {
return false;
}
dir = uri + dir;
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(dir), conf);
if (!fs.exists(new Path(dir))) {
fs.mkdirs(new Path(dir));
}
fs.close();
return true;
} catch (IOException e) {
System.err.println("ERROR:IO");
return false;
}
}
/**
* 在HDFS删除目录
*
* @param uri HDFS地址,比如: 'hdfs://192.168.12.12'
* @param dir 文件路径
* @return boolean true-success, false-failed
* @exception IOException 如果文件已经打开会跑出异常 FileNotFoundException
*
*/
public<