<span style="font-size:18px;">/**
* 删除文件夹
* @throws IOException
* @throws URISyntaxException
*/
public static void deleteFolder() throws IOException, URISyntaxException{
final FileSystem fileSystem = FileSystem.get(new URI(
"hdfs://hadoop1:9000"), new Configuration());
boolean delete = fileSystem.delete(new Path("/dir2"),true);//删除文件夹时必须为true
if (delete) {
System.out.println("删除成功");
}
}
/**
* 遍历文件夹
* @throws IOException
* @throws URISyntaxException
*/
public static void listPath() throws IOException, URISyntaxException{
final FileSystem fileSystem = FileSystem.get(new URI(
"hdfs://hadoop1:9000"), new Configuration());
FileStatus[] fileStatus = fileSystem.listStatus(new Path("/"));
for (int i = 0; i < fileStatus.length; i++) {
System.out.println(fileStatus[i].getPath());
}
}
/**
* 下载文件
* @throws IOException
* @throws URISyntaxException
*/
public static void download() throws IOException, URISyntaxException{
final FileSystem fileSystem = FileSystem.get(new URI(
"hdfs://hadoop1:9000"), new Configuration());
FSDataInputStream in = fileSystem.open(new Path("/dir2/newFile"));
IOUtils.copyBytes(in, System.out, 1024, true);
}
/**
* 从linux磁盘上传文件到hdfs
* @throws IOException
* @throws URISyntaxException
*/
public static void upload() throws IOException, URISyntaxException {
final FileSystem fileSystem = FileSystem.get(new URI(
"hdfs://hadoop1:9000"), new Configuration());
final FSDataOutputStream outputStream = fileSystem.create(new Path(
"/dir2/newFile"));
final FileInputStream inputStream = new FileInputStream("D:/build.xml");
IOUtils.copyBytes(inputStream, outputStream, 1024, true);
}
/**
* hdfs创建目录
*
* @throws IOException
* @throws URISyntaxException
*/
public static void mkdir() throws IOException, URISyntaxException {
final FileSystem fileSystem = FileSystem.get(new URI(
"hdfs://hadoop1:9000"), new Configuration());
final boolean successful = fileSystem.mkdirs(new Path("/dir2"));
if (successful) {
System.out.println("创建目录成功");
}
}
/**
* hdfs读取文件
*/
public static void readFile() {
try {
// 使用文件访问协议
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
final URL url = new URL("hdfs://hadoop1:9000/dir1/hello");
final InputStream is = url.openStream();
// 将读取到的内容输出到控制台
IOUtils.copyBytes(is, System.out, 1024, true);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}</span>
hadoop1.1.2java操作hdfs
最新推荐文章于 2024-06-01 19:13:05 发布