/**
* 得到一个目录(不包括子目录)下的所有名字匹配上pattern的文件名
* @param fs
* @param folderPath
* @param pattern 用于匹配文件名的正则
* @return
* @throws IOException
*/
public static List<Path> getFilesUnderFolder(FileSystem fs, Path folderPath, String pattern) throws IOException {
List<Path> paths = new ArrayList<Path>();
if (fs.exists(folderPath)) {
FileStatus[] fileStatus = fs.listStatus(folderPath);
for (int i = 0; i < fileStatus.length; i++) {
FileStatus fileStatu = fileStatus[i];
// 如果是目录,递归向下找
if (!fileStatu.isDir()) {
Path oneFilePath = fileStatu.getPath();
if (pattern == null) {
paths.add(oneFilePath);
} else {
if (oneFilePath.getName().contains(pattern)) {
paths.add(oneFilePath);
}
}
}
}
}
return paths;
}
遍历hadoop文件夹
最新推荐文章于 2022-10-20 21:30:38 发布