diff --git a/engine/src/desktop/com/jme3/system/Natives.java b/engine/src/desktop/com/jme3/system/Natives.java index c79c4569d..b6e5094c1 100644 --- a/engine/src/desktop/com/jme3/system/Natives.java +++ b/engine/src/desktop/com/jme3/system/Natives.java @@ -83,19 +83,21 @@ public class Natives { URLConnection conn = url.openConnection(); InputStream in = conn.getInputStream(); File targetFile = new File(workingDir, fullname); - if (targetFile.exists()){ - // OK, compare last modified date of this file to - // file in jar - long targetLastModified = targetFile.lastModified(); - long sourceLastModified = conn.getLastModified(); - - // Allow ~1 second range for OSes that only support low precision - if (targetLastModified + 1000 > sourceLastModified){ - logger.log(Level.FINE, "Not copying library {0}. Latest already extracted.", fullname); - return; - } - } + try { + if (targetFile.exists()){ + // OK, compare last modified date of this file to + // file in jar + long targetLastModified = targetFile.lastModified(); + long sourceLastModified = conn.getLastModified(); + + // Allow ~1 second range for OSes that only support low precision + if (targetLastModified + 1000 > sourceLastModified){ + logger.log(Level.FINE, "Not copying library {0}. Latest already extracted.", fullname); + return; + } + } + OutputStream out = new FileOutputStream(targetFile); int len; while ((len = in.read(buf)) > 0) {