C J :
Files.walk est l'un des cours d'eau que je près, cependant, comment puis-je fermer le flux dans le code comme ci-dessous? Est-ce le code ci-dessous valide ou ai-je besoin de le réécrire, donc j'avoir accès à la rivière pour le fermer?
List<Path> filesList = Files.walk(Paths.get(path)).filter(Files::isRegularFile ).collect(Collectors.toList());
aussi:
Vous devriez l'utiliser avec essayer avec des ressources comme:
try(Stream<Path> path = Files.walk(Paths.get(""))) {
List<Path> fileList = path.filter(Files::isRegularFile)
.collect(Collectors.toList());
}
Le apiNote
pour le Files.walk
lit explicitement:
This method must be used within a try-with-resources statement or similar control structure to ensure that the stream's open directories are closed promptly after the stream's operations have completed.