Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Avoid explicit call to close() on an auto-closeable resource.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 25 Apr 2018 08:01:12 +0000 (10:01 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 25 Apr 2018 08:03:48 +0000 (10:03 +0200)
src/bindings/java/org/simgrid/NativeLib.java

index 1902618..3db622c 100644 (file)
@@ -103,6 +103,7 @@ public final class NativeLib {
                     "lib"+name+".dylib"             /* mac osx */}) {
                                                
                        File fileOut = new File(tempDir.toFile().getAbsolutePath() + File.separator + filename);
+                       boolean done = false;
                        try ( // Try-with-resources. These stream will be autoclosed when needed.
                                InputStream in = NativeLib.class.getClassLoader().getResourceAsStream(path+filename);
                                OutputStream out = new FileOutputStream(fileOut);
@@ -116,14 +117,14 @@ public final class NativeLib {
                                while ((bytesRead = in.read(buffer)) != -1)     // Read until EOF
                                        out.write(buffer, 0, bytesRead);
                                
-                               out.close(); // Windows cannot open it twice, so close it first. Shame.
-                               
+                               done = true;
+                       }
+                       if (done) {
                                /* load that shit */
                                System.load(fileOut.getAbsolutePath());
                                
                                /* It loaded! we're good */
                                return true;
-                               
                        }
                }