From: <ka...@us...> - 2012-04-22 23:05:16
|
Revision: 3765 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3765&view=rev Author: kappa1 Date: 2012-04-22 23:05:10 +0000 (Sun, 22 Apr 2012) Log Message: ----------- AppletLoader: set all streams that are open to use try/finally blocks to close the streams Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2012-04-22 22:51:47 UTC (rev 3764) +++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2012-04-22 23:05:10 UTC (rev 3765) @@ -1143,10 +1143,13 @@ */ protected void writeObjectFile(File file, Object object) throws Exception { FileOutputStream fos = new FileOutputStream(file); - ObjectOutputStream dos = new ObjectOutputStream(fos); - dos.writeObject(object); - dos.close(); - fos.close(); + try { + ObjectOutputStream dos = new ObjectOutputStream(fos); + dos.writeObject(object); + dos.close(); + } finally { + fos.close(); + } } /** @@ -1602,15 +1605,17 @@ byte [] buffer = new byte [1<<14]; - int ret = inputHandle.read(buffer); - while (ret >= 1) { - outputHandle.write(buffer,0,ret); - ret = inputHandle.read(buffer); + try { + int ret = inputHandle.read(buffer); + while (ret >= 1) { + outputHandle.write(buffer,0,ret); + ret = inputHandle.read(buffer); + } + } finally { + inputHandle.close(); + outputHandle.close(); } - inputHandle.close(); - outputHandle.close(); - // delete LZMA file, as it is no longer needed f.delete(); } @@ -1630,17 +1635,19 @@ OutputStream outputHandle = new FileOutputStream(out); - byte [] buffer = new byte [1<<14]; - - int ret = inputHandle.read(buffer); - while (ret >= 1) { - outputHandle.write(buffer,0,ret); - ret = inputHandle.read(buffer); + try { + byte [] buffer = new byte [1<<14]; + + int ret = inputHandle.read(buffer); + while (ret >= 1) { + outputHandle.write(buffer,0,ret); + ret = inputHandle.read(buffer); + } + } finally { + inputHandle.close(); + outputHandle.close(); } - inputHandle.close(); - outputHandle.close(); - // delete GZip file, as it is no longer needed f.delete(); } @@ -1655,12 +1662,15 @@ File f = new File(in); FileOutputStream fostream = new FileOutputStream(out); JarOutputStream jostream = new JarOutputStream(fostream); + + try { + Pack200.Unpacker unpacker = Pack200.newUnpacker(); + unpacker.unpack(f, jostream); + } finally { + jostream.close(); + fostream.close(); + } - Pack200.Unpacker unpacker = Pack200.newUnpacker(); - unpacker.unpack(f, jostream); - jostream.close(); - fostream.close(); - // delete pack file as its no longer needed f.delete(); } @@ -1803,21 +1813,23 @@ InputStream in = jarFile.getInputStream(jarFile.getEntry(entry.getName())); OutputStream out = new FileOutputStream(path + "natives" + File.separator + entry.getName()); - int bufferSize; - byte buffer[] = new byte[65536]; - - while ((bufferSize = in.read(buffer, 0, buffer.length)) != -1) { - debug_sleep(10); - out.write(buffer, 0, bufferSize); - currentSizeExtract += bufferSize; - - // update progress bar - percentage = 65 + (int)(percentageParts * (jarNum + currentSizeExtract/(float)totalSizeExtract)); - subtaskMessage = "Extracting: " + entry.getName() + " " + ((currentSizeExtract * 100) / totalSizeExtract) + "%"; + try { + int bufferSize; + byte buffer[] = new byte[65536]; + + while ((bufferSize = in.read(buffer, 0, buffer.length)) != -1) { + debug_sleep(10); + out.write(buffer, 0, bufferSize); + currentSizeExtract += bufferSize; + + // update progress bar + percentage = 65 + (int)(percentageParts * (jarNum + currentSizeExtract/(float)totalSizeExtract)); + subtaskMessage = "Extracting: " + entry.getName() + " " + ((currentSizeExtract * 100) / totalSizeExtract) + "%"; + } + } finally { + in.close(); + out.close(); } - - in.close(); - out.close(); // validate the certificate for the native file being extracted if (!certificatesMatch(certificate, entry.getCertificates())) { @@ -1881,6 +1893,7 @@ JarURLConnection jurl = (JarURLConnection) (new URL("jar:" + location.toString() + "!/org/lwjgl/util/applet/AppletLoader.class").openConnection()); jurl.setDefaultUseCaches(true); certificate = jurl.getCertificates(); + jurl.setDefaultUseCaches(false); } return certificate; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |