Из документов:
*.java
Соответствует пути, представляющему имя файла, оканчивающееся на .java
Таким образом, сопоставитель пути для glob:*.java
будет возвращать true только для фактических имен файлов (например, x.pdf
), которые возвращаются Path.getFileName () , например.
Возможным решением вашей проблемы итерации файлов PDF в каталоге без подкаталогов может быть ограничение глубины обхода файлового дерева вместо изменения поведения средства сопоставления.
Path start = Paths.get("C:/Users/maxim/Desktop/test/");
PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:**.pdf");
Files.walk(start, 1)
.filter(matcher::matches)
.forEach(System.out::println);