From acebd2ea68e425f105ff40f4f898ccdacaf6018e Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Sat, 17 Feb 2018 19:53:30 +0000
Subject: [PATCH] Cleanups: Close resources via try-finally

---
 .../naming/SingleFileNamingService.java       |  5 +++-
 .../src/net/i2p/util/TranslateReader.java     |  3 +--
 .../java/src/net/i2p/router/MultiRouter.java  | 26 ++++++++++---------
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
index acde6e6ed2..1cc058eccc 100644
--- a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
+++ b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
@@ -261,7 +261,10 @@ public class SingleFileNamingService extends NamingService {
             if (out != null) try { out.close(); } catch (IOException e) {}
             _log.error("Error adding " + hostname, ioe);
             return false;
-        } finally { releaseWriteLock(); }
+        } finally {
+            if (out != null) try { out.close(); } catch (IOException e) {}
+            releaseWriteLock();
+        }
     }
 
     /** 
diff --git a/core/java/src/net/i2p/util/TranslateReader.java b/core/java/src/net/i2p/util/TranslateReader.java
index 02eb0a0d68..b1b4db18e2 100644
--- a/core/java/src/net/i2p/util/TranslateReader.java
+++ b/core/java/src/net/i2p/util/TranslateReader.java
@@ -394,12 +394,11 @@ public class TranslateReader extends FilterReader {
     }
 
     private static void test(String file) throws IOException {
-        FileInputStream fio = new FileInputStream(file);
         TranslateReader r = null;
         try {
             r = new TranslateReader(I2PAppContext.getGlobalContext(),
                                     "net.i2p.router.web.messages",
-                                    fio);
+                                    new FileInputStream(file));
             int c;
             while ((c = r.read()) >= 0) {
                 System.out.print((char)c);
diff --git a/router/java/src/net/i2p/router/MultiRouter.java b/router/java/src/net/i2p/router/MultiRouter.java
index 297d7ff235..5ccec8d887 100644
--- a/router/java/src/net/i2p/router/MultiRouter.java
+++ b/router/java/src/net/i2p/router/MultiRouter.java
@@ -64,19 +64,21 @@ public class MultiRouter {
             usage();
             return;
         }
-        Scanner scan = new Scanner(args[0]);
-        if (!scan.hasNextInt()) {
-            usage();
-            scan.close();
-            return;
-        }
-        nbrRouters = scan.nextInt();
-        if (nbrRouters < 0) {
-            usage();
-            scan.close();
-            return;
+        Scanner scan = null;
+        try {
+            scan = new Scanner(args[0]);
+            if (!scan.hasNextInt()) {
+                usage();
+                return;
+            }
+            nbrRouters = scan.nextInt();
+            if (nbrRouters < 0) {
+                usage();
+                return;
+            }
+        } finally {
+            if (scan != null) scan.close();
         }
-        scan.close();
         
         _out = System.out;
 
-- 
GitLab