在的Java
API描述如下这个话题:
流具有
baseStream.close()方法和实现AutoCloseable,但是实际上几乎所有流实例在使用后都不需要关闭。通常,只有源是IO通道的流(例如,由IO通道返回的Files.lines(Path,Charset))流才需要关闭。大多数流都由不需要特殊资源管理的集合,数组或生成函数支持。(如果流确实需要关闭,则可以在try-with-
resources语句中被声明为资源。)
另请注意以下API
Files.lines(Path,Charset)):
返回的数据流封装
Reader.如果需要的文件系统资源的及时处置,在try-与资源结构应该被用来确保数据流的close流操作完成后调用方法。
底线是:如果流对应的资源在正常情况下需要在使用后关闭(例如IO),则在try-with-resources语句中使用它。



