Поиск папок Java - PullRequest
       3

Поиск папок Java

0 голосов
/ 13 ноября 2018

Я хочу найти каждую папку с определенным именем.Я нашел решение, но оно неоправданное, потому что оно занимает много времени.

private List<Path> walkDirTreeAndSearch(final Path rootFolder, final String search, final boolean xoraya) {
    final List<Path> foundTraces = new ArrayList<>();
    long time;

    time = System.currentTimeMillis();

    if (!Files.exists(rootFolder)) {
        return foundTraces;
    }

    //Finds all files with the specific 'search' string
    try {
        Files.walk(Paths.get(String.valueOf(rootFolder)), FileVisitOption.FOLLOW_LINKS)
                .filter(t -> t.toString().contains(search)).forEach(foundTraces::add);
    } catch (final IOException e) {
        LOG.error(e);
    }

    //Finds all roots with 'xoraya' in it
    if (xoraya) {
        final Predicate<Path> pathPredicate2 = path -> path.getParent().toString().matches("^((?!xoraya).)*$");
        foundTraces.removeIf(pathPredicate2);
        final Predicate<Path> pathPredicate1 = path -> path.getParent().toString().contains("converted");
        foundTraces.removeIf(pathPredicate1);
    }

    time = System.currentTimeMillis() - time;

    return foundTraces; 
}

Кто-нибудь знает способ найти каждую папку с определенным именем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...