Как вернуть карту с размером файлов в указанном каталоге, имена которых соответствуют указанной маске. Маска DOS может содержать специальные символы '*' и '?'.
Мой код:
public Map<Path, Long> fileSizes(Path dir, String mask, boolean recursive) throws IOException {
return Files.walk(dir)
.filter(Files::isRegularFile)
.filter( x -> x.toFile().getName().equals(mask))
How to make a filter by mask and regular expression correctly? Where to insert "regex"?
.collect(Collectors.toMap(Path::getFileName, (x) -> x.toFile().length()));
}
}
И если вы знаете, скажите мне правильное регулярное выражение. Я сделал это выражение: "(?: (?: *)? (?: \ W +)) | (?: (?: \?) (?: \ W))"