问题标签 [autocloseable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2507 浏览

java - Java8中“Autocloseable”的数组或集合

Autocloseable应始终与try-with-resources. 至少 Intellij 检查表明了这一点。因此,如果我有一个生成Foo该实现的代码,Autocloseable我应该这样做:

但是如果我有返回的函数Foo[]呢?或者接受Foo[](或Collection<Foo>)作为其参数的函数?

我该如何使用它try-with-resources?查看以下函数:

我想做点事doAll(getFoos())

我怎样才能做到这一点?

0 投票
2 回答
278 浏览

java - 函数中的 Java AutoClosable 行为

我这里有一个示例代码。当代码存在 parentFunction 的 try/catch 块时,函数创建的 FileInputStream 会自动关闭吗?

还是需要在 someOtherFunction() 本身中显式关闭它?

0 投票
1 回答
162 浏览

java - 何时使用 JDO DataNucleus Query.close()

我无法找到何时使用查询对象的 close() 方法的明确文档。在以下示例中,try with resources 通过调用 Autocloseable.close() 关闭 PersistenceManager 和 Query。在内部 Query.close() 调用 Query.closeAll(),它关闭所有返回的结果。

这是查询对象所必需的 Query.close() 调用,还是足以关闭 PersistenceManager 然后关闭其余部分?非常感谢一些文档或链接。谢谢!

0 投票
1 回答
773 浏览

java - 如何在我的代码中找到所有未关闭的实例和对象?

我的团队有大量的代码。最近我发现了一些没有正确关闭的对象。
如何找到所有未关闭或不在try-with-resources块内的实例?
有些对象,例如Statement,ResultSet甚至没有显示警告消息。

是否有显示所有这些事件的扩展工具?
我正在使用 Eclipse。

0 投票
2 回答
530 浏览

java - 为什么 Java 抱怨我的 try-with-resources 块?

我有一个IncomingTrackHandlerFactory( ith) 分发IncomingTrackHandler. 这些实例实现AutoCloseable. 与IncomingTrackHandler数据库打交道,并且是短暂的。每个实例仅用于几个查询,然后被丢弃。

我不明白为什么第一个代码块不起作用。为什么Java告诉我它“找不到符号ithith如果发现异常并且必须回滚数据库事务,我只是在 try 块之前声明 ith 以便能够在手边也有变量。

我错过了什么?


非工作代码


工作代码


0 投票
3 回答
1101 浏览

java - 在 Stream API 中使用 AutoClosable 接口

今天我尝试重构这段代码,它从目录中的文件中读取 id,

使用流 api

然后我发现IO流不会被关闭并且我没有看到关闭它们的简单方法,因为它们是在管道内部创建的。

有任何想法吗?

upd:例子中的FileSystem是HDFS,Files#lines类似的方法不能用。

0 投票
1 回答
649 浏览

android - 错误:处理“java/lang/Au​​toCloseable.class”时出现问题

当我编译我的项目时,我收到了这个错误:

故障处理java/lang/AutoCloseable.class

请帮我解决这个问题。

0 投票
1 回答
2500 浏览

java - 为什么 Apache CloseableHttpResponse 在关闭时不消耗实体?

查看快速入门指南,它提供了以下代码示例:

上面代码中的两条注释说我们必须关闭响应对象

“正确释放系统资源”

“如果响应内容未完全消耗,则无法安全地重新使用底层连接,并将被连接管理器关闭并丢弃”。

现在 Apache 非常友好地为我们实现了 CloseableHttpResponse,这意味着我们可以使用 try-with-resources 块。但是close方法只是关闭了响应对象,为什么不消费实体呢?

0 投票
4 回答
333 浏览

java - Java Try-With-Resources 未知资源计数

我需要打开 N 个多播套接字(其中 N 来自参数列表的大小)。然后,我将在一个循环中将相同的数据发送到 N 个套接字中的每一个,最后关闭每个套接字。我的问题是,如何使用 try-with-resources 块执行此操作?以下是我将如何使用单个资源执行此操作:

我能想到的使用多个端口执行此操作的唯一方法如下:

有没有更简洁的方法来实现这一点,或者我提出的解决方案是否尽可能好?

0 投票
2 回答
5397 浏览

java - 使用 try-with-resources 关闭 Closeable

我有一个Map<Key, Closeable>,如果从地图中删除了一个键,我想关闭Closeable. 通常我有类似的东西:

我的 Eclipse 警告我“资源 'c' 应该由 try-with-resource 管理”,所以只写以下内容会更好吗?

在我的特殊实现中,我有一个 的子类Closeable,其中close()不抛出IOException,因此不需要异常处理。