У меня есть каталог (с несколькими подкаталогами, в котором также могут быть подкаталоги), по которому я хочу перебрать и перечислить все файлы, в имени которых есть определенная строка.
Я не уверен, как перебрать все каталоги. Кроме того, я хотел бы игнорировать все папки, к которым у меня нет разрешения, поскольку я иногда получаю org. apache .had oop .security.AccessControlException .
Здесь мой код, который в настоящее время выполняет итерацию только в глубокий заданный путь, но не go возвращается к root пути, если ничего не находит.
def searchForFile(folderPath: String): List[String] = {
fileSystem
.listStatus(new Path(folderPath))
.flatMap { status =>
if (status.isFile && (status.getPath.getName).contains("something"))
List(status.getPath.getName)
else
searchForFile(folderPath + "/" + status.getPath.getName)
}
.toList.sorted
}