try-with-resources

    0热度

    2回答

    我想设置套接字连接超时。我知道我可以使用connect方法对其进行设置,但是这是我的代码: try(Socket socket = new Socket(InetAddress.getByName(ip), port); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()

    2热度

    3回答

    跟在try-with-resources之后的catch是否覆盖初始化部分还不清楚。 换句话说,考虑下面的代码段: try (InputStream in = getSomeStream()) { System.out.println(in.read()); } catch (IOException e) { System.err.println("IOExcep

    20热度

    2回答

    只是想知道什么样的注释可以用在尝试与资源声明,这是根据其语法允许使用的变量。从语言规范的部分14.20.3(Java 7中)读取, TryWithResourcesStatement:         try ResourceSpecification块捕获选择最后选择 ResourceSpecification :  个      (资源;选择) 资源:        资源资源;资源 资源:  

    2热度

    4回答

    我需要打开N个多播套接字(其中N来自参数列表的大小)。然后,我会将相同的数据发送到循环中的N个套接字中的每个套接字,最后关闭每个套接字。我的问题是,我如何使用try-with-resources块来做到这一点?下面是我如何与一个单一的资源做到这一点: final int port = ...; try (final MulticastSocket socket = new MulticastSo

    -1热度

    1回答

    我写了一个方法来替换文件中的一些行(这不是这个问题的目的)。一切工作正常,但我想知道,如果文件关闭阅读时,我开始写作。我想确保我的解决方案是安全的。这就是我所做的: private void replaceCodeInTranslationFile(File file, String code) { if (file.exists()) { try (Stream<String

    0热度

    1回答

    我有一个经典的服务器多客户端程序。服务器侦听ServerSocket并为每个传入的套接字构建一个新的Runnable类并在ExecuteService中执行它。 在Runnable类的run方法中,我打开try-with-resources块,在try中我有一个while循环,它从inputstream中读取并写入outputstream,直到它从客户端接收到FIN命令。一切正常,客户端断开连接成

    3热度

    2回答

    Clojure有相当于Java的try-with-resources构造吗? 如果不是,那么在Clojure代码中处理这种习惯用法的正常方法是什么? 用于安全打开和关闭资源的Java-7以前的习惯用法是非常详细的,它们实际上增加了对语言尝试资源的支持。对我来说,在标准的Clojure库中我找不到这个用例的宏是很奇怪的。 基于Clojure的主流项目存储库的一个例子 - 显示如何在实践中处理这个问题

    5热度

    1回答

    是否强制将内部尝试与资源配合使用,或者其中一个资源尝试中的所有内容都将被自动关闭? try (BasicDataSource ds = BasicDataSourceFactory.createDataSource(dsProperties)) { // still necessary for Connection to close if inside // try-wi

    1热度

    1回答

    我正在使用Groovy的资源关闭功能,并想知道是否可以创建一个管理两个资源的闭包。例如,如果我有以下两个单独的闭包,是否可以创建一个管理两个闭包的闭包?或者我真的必须嵌套关闭? new File(baseDir, 'haiku.txt').withWriter('utf-8') { writer -> writer.writeLine 'Into the ancient pond' }

    1热度

    1回答

    我很困惑: 用法:try(Pipeline pipeline = jedisPool.getResource().pipelined()) 它会关闭管道和jedis实例吗?或者关闭管道? 我在多线程中使用它,我得到如下错误。我很困惑,错误是由于JedisPool中的实例用尽(由于尝试资源使用)或因为死锁(对于JedisPool在多线程中不能很好地执行)而导致的? sun.misc.Unsafe.p