我认为当前的Stream文档/ javadoc 相当清晰: 流具有BaseStream.close()方法并实现AutoCloseable, 但几乎所有流实例实际上都不需要在使用后关闭。 通常,仅源头是IO通道的流(例如Files.lines(Path,Charset)返回的流)才需要关闭。 大多数流都由集合,数组或生成函数支持,这些内容不需要特殊的资源管理。(如果流需要关闭,则可以将其声明为try-with-resources语句中的资源。)