Чтение пути к файлу без знания файловой директории или родительского файла - PullRequest
0 голосов
/ 08 декабря 2018

Я пишу Java-программу, которая должна найти каталог файлов, имеющий только имя файла.Например, я знаю, что файл называется «Img_123.png», но я не знаю, это каталог, имя файла или путь к файлу.Мне нужно знать полное имя файла в виде строки (чтобы нарисовать его с помощью Canvas).

1 Ответ

0 голосов
/ 08 декабря 2018

Предоставленная корневая папка для начала поиска и максимальная допустимая глубина, это должно вернуть список всех файлов, которые соответствуют имени файла:

List<File> findFileByName(Path start, String fileName, int maxDepth) throws IOException {
  final Stream<Path> files = Files.find(start, maxDepth, (path, attribute) -> { 
    return path.endsWith(fileName);
  });
  return files
    .map(path -> path.toFile())
    .collect(Collectors.toList());
}

(path, attribute) -> { //any code }, что вас смущает, это лямбда-выражение анонимная функция .Это тип BiPredicate<Path,BasicFileAttributes>, что означает, что он должен возвращать логическое значение на основе некоторой оценки пути и атрибутов для обрабатываемого файла.

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