Die Klasse „Stream“ hat ein AutoClosable implementiert, es kann aber manchmal passieren, das der Stream noch nicht „close()“ ist.
Das das kann auch bei der Klasse „Files“ passieren, z.B.
// Java 8 java.util.stream.Stream; java.nio.file.Files;
Stream lines = Files.line( path );
da es auch nichts anderes als ein Stream ist.
Um dem ganzen aus dem Weg zu gehen, sollte man es so schreiben
try( Stream lines = Files.line( path ) ) {
// do something with the stream
}
oder noch besser wäre so
try( Stream lines = Files.line( path ) ) {
// do something with the stream
lines.close();
}