У меня есть этот код:
String requestedFile = Paths.get(prefix, name).toString();
// Find all matching files
List<String> foundFiles;
try {
foundFiles = Files.walk(Paths.get(PACKAGE_BASE), 1).filter(subdirectory -> Paths.get(subdirectory.toString(), requestedFile).toFile().exists()).map(String::valueOf).collect(Collectors.toList());
// Maybe we didn't find anything?
if (foundFiles.isEmpty()) return null;
String matchingFile = Paths.get(foundFiles.get(0), requestedFile).toString();
return matchingFile;
} catch (IOException e) {
return null;
}
Мой сонарный сканер говорит:
Use try-with-resources or close this "Stream" in a "finally" clause
Это происходит в вызове Files.walk, но я не писал этот код, и Я не знаю, как правильно разбить это, чтобы попробовать с ресурсами или заставить поток закрыться в конце концов.
Любые идеи?