Comment fermer un flux implicite en Java?

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 apiNotepour le Files.walklit 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.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=179069&siteId=1
conseillé
Classement