当前位置: 首页 > 知识库问答 >
问题:

为什么Java 8流类是自动关闭的?

亢建木
2023-03-14

在Java 8中,流类实现了自动关闭。这意味着应该显式关闭流实例。

我理解为什么文件处理程序和数据库连接是可关闭的。但为什么是流呢?

共有1个答案

孙渝
2023-03-14

我认为Stream的当前留档/javadoc非常清楚:

流具有基流。方法并实现自动关闭,但几乎所有流实例在使用后实际上都不需要关闭。通常,只有源为IO通道的流(例如由文件行(路径,字符集)返回的流)才需要关闭。大多数流由集合、数组或生成函数支持,不需要特殊的资源管理。(如果流确实需要关闭,则可以在try with resources语句中将其声明为资源。)

 类似资料:
  • 流状态的javadoc: 流具有基流。方法并实现自动关闭,但几乎所有流实例在使用后实际上都不需要关闭。通常,只有源为IO通道的流(例如由文件行(路径,字符集)返回的流)才需要关闭。大多数流由集合、数组或生成函数支持,不需要特殊的资源管理。(如果流确实需要关闭,则可以在try with resources语句中将其声明为资源。) 因此,在绝大多数情况下,可以在一个线性规划中使用流,如集合。strea

  • 问题内容: 在Java 8中,Stream类实现AutoCloseable。这意味着应显式关闭流实例。 我了解为什么文件处理程序和数据库连接是可关闭的。但是为什么要流? 问题答案: 我认为Stream的当前文档/ javadoc 非常清楚: 流具有BaseStream.close()方法并实现AutoCloseable,但是实际上几乎所有流实例在使用后都不需要关闭。通常,只有源是IO通道的流(例如

  • 我发现Java 8没有与ZonedDateTime等价的功能,而是只与时间(ZonedTime类或类似的东西)一起工作。我知道他们包括OffsetTime类,但它只存储偏移量。 将时区与日期和时间一起存储,而不仅仅是存储偏移量,有助于更轻松地处理夏令时。 我不是要你给我选择,我知道有很多方法;我只是想知道为什么这样的类不包括在内,这是一个设计问题吗?或者他们只是发现它是多余的?

  • 问题内容: 我正在尝试下载一个zip文件,但出现了 Stream Closed Exception 。当我使用Swing GUI时,会出现此错误,但是如果我使用控制台,则不会有问题。为什么会出现此异常?我该如何解决? 这是我的代码: 这是堆栈跟踪 问题答案: 此异常通常表示连接突然关闭。我将查看服务器上的日志,看看是否有错误。

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 在这个问题中,有什么方法可以只接受JTextField中的数值吗?答案之一表明JFormattedTextField存在问题。 我还没有使用过它,但是有人可以

  • 问题内容: 我没有完全了解Node.js的全部含义。也许是因为我主要是基于Web的业务应用程序开发人员。它是什么,有什么用? 到目前为止,我的理解是: 编程模型是事件驱动的,尤其是它处理I / O的方式。 它使用JavaScript,解析器为V8。 它可以轻松用于创建并发服务器应用程序。 我的理解正确吗?如果是,那么事件I / O的好处是什么,并发性东西还有更多好处吗?另外,Node.js的发展方