Do terminal operations close the stream?

后端 未结 2 494
旧巷少年郎
旧巷少年郎 2020-12-03 07:41

dirPath contains 200k files. I want to read them one by one and do some processing. The following snippet causes java.nio.file.FileSystemException: dirPat

2条回答
  •  渐次进展
    2020-12-03 08:04

    No forEach does not close the stream (created by Files.list or Files.lines). It is documented in the javadoc, for example for Files.list:

    The returned stream encapsulates a Reader. If timely disposal of file system resources is required, the try-with-resources construct should be used to ensure that the stream's close method is invoked after the stream operations are completed.

提交回复
热议问题