|
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.
|