2014-03-02 51 views

回答

17

我认为目前documentation/javadoc of Stream是相当清楚的:

流有BaseStream.close()方法和实施AutoCloseable, 但几乎所有的流实例也确实需要使用后不会被关闭 。通常,只有源数据流是IO通道的数据流(如Files.lines(Path,Charset)返回的那些数据流)需要关闭。 大多数流都由集合,数组或支持函数来生成,这些函数不需要特殊的资源管理。 (如果流 确实需要关闭,则可以将其声明为 试用资源语句中的资源。)