相关疑难解决方法(0)

流上的终端操作是否关闭源?

请考虑以下代码:

Path directory = Paths.get(/* some directory */);
Files.list(directory).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

终端操作(如forEach)是否关闭已打开的基础文件?

请参阅Files.list的javadoc的相关部分:

返回的流封装了DirectoryStream.如果需要及时处理文件系统资源,则应使用try-with-resources构造来确保在流操作完成后调用流的close方法.

如果它没有调用Stream.close(),那么在生成可维护代码时调用它的最佳选择是什么?

java java-8 java-stream

13
推荐指数
1
解决办法
2268
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1