删除集群中HDFS的所有空文件和空目录
package com.zzm.day03;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
public class DeleteEmpty {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
FileStatus[] listStatus = fs.listStatus(new Path("/"));
for (FileStatus fss : listStatus) {
if (fss.isDirectory()) {
DeleteEmptyDir(fss.getPath());
} else {
if (fss.getLen() == 0) {
fs.delete(fss.getPath(), false);
}
}
}
}
private static void DeleteEmptyDir(Path path) throws Exception {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
FileStatus[] fst = fs.listStatus(path);
if (fst.length == 0) {
fs.delete(path, false);
}
}
}