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