У меня есть сценарий, в котором мне нужно получить имя папки и имя файла, используя Files.walk одновременно.
Ниже находится каталог: c: \ files \ foldername1 \ filename1.txt c: \ files \ foldername2 \ filename2.txt
Следующий код дает выходные данные, которые являются именами файлов
c:\\files\foldername1\\filename1.txt
c:\\files\foldername2\\filename2.txt
try (Stream<Path> walk = Files.walk(Paths.get("c:\\files"))) {
List<String> result = walk.filter(Files::isRegularFile)
.map(x -> x.toString()).collect(Collectors.toList());
}
Следующий код дает выходные данные, которые являются каталогами
c:\\files\foldername1
c:\\files\foldername2
try (Stream<Path> walk = Files.walk(Paths.get("c:\\files"))) {
List<String> result = walk.filter(Files::isDirectory)
.map(x -> x.toString()).collect(Collectors.toList());
result.forEach(System.out::println);
}
Есть ли способ получить имя папки и имя файла, используя один фильтр одновременно.