|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -743,7 +743,9 @@
|
|
|
e797f0b |
|
|
|
e797f0b |
private void dumpBand() throws IOException {
|
|
|
e797f0b |
assert(optDumpBands);
|
|
|
e797f0b |
- try (PrintStream ps = new PrintStream(getDumpStream(this, ".txt"))) {
|
|
|
e797f0b |
+ PrintStream ps = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ ps = new PrintStream(getDumpStream(this, ".txt"));
|
|
|
e797f0b |
String irr = (bandCoding == regularCoding) ? "" : " irregular";
|
|
|
e797f0b |
ps.print("# length="+length+
|
|
|
e797f0b |
" size="+outputSize()+
|
|
|
e797f0b |
@@ -758,9 +760,19 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
printArrayTo(ps, values, 0, length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
- try (OutputStream ds = getDumpStream(this, ".bnd")) {
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (ps != null)
|
|
|
e797f0b |
+ ps.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ OutputStream ds = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ ds = getDumpStream(this, ".bnd");
|
|
|
e797f0b |
bandCoding.writeArrayTo(ds, values, 0, length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (ds != null)
|
|
|
e797f0b |
+ ds.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
/** Disburse one value. */
|
|
|
e797f0b |
@@ -829,12 +841,18 @@
|
|
|
e797f0b |
|
|
|
e797f0b |
private void dumpBand() throws IOException {
|
|
|
e797f0b |
assert(optDumpBands);
|
|
|
e797f0b |
- try (OutputStream ds = getDumpStream(this, ".bnd")) {
|
|
|
e797f0b |
+ OutputStream ds = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ ds = getDumpStream(this, ".bnd");
|
|
|
e797f0b |
if (bytesForDump != null)
|
|
|
e797f0b |
bytesForDump.writeTo(ds);
|
|
|
e797f0b |
else
|
|
|
e797f0b |
bytes.writeTo(ds);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (ds != null)
|
|
|
e797f0b |
+ ds.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
public void readDataFrom(InputStream in) throws IOException {
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/Driver.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -151,8 +151,13 @@
|
|
|
e797f0b |
if ("--config-file=".equals(state)) {
|
|
|
e797f0b |
String propFile = av.remove(0);
|
|
|
e797f0b |
Properties fileProps = new Properties();
|
|
|
e797f0b |
- try (InputStream propIn = new FileInputStream(propFile)) {
|
|
|
e797f0b |
+ InputStream propIn = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ propIn = new FileInputStream(propFile);
|
|
|
e797f0b |
fileProps.load(propIn);
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (propIn != null)
|
|
|
e797f0b |
+ propIn.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
if (engProps.get(verboseProp) != null)
|
|
|
e797f0b |
fileProps.list(System.out);
|
|
|
e797f0b |
@@ -348,9 +353,14 @@
|
|
|
e797f0b |
else
|
|
|
e797f0b |
fileOut = new FileOutputStream(outfile);
|
|
|
e797f0b |
fileOut = new BufferedOutputStream(fileOut);
|
|
|
e797f0b |
- try (JarOutputStream out = new JarOutputStream(fileOut)) {
|
|
|
e797f0b |
+ JarOutputStream out = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ out = new JarOutputStream(fileOut);
|
|
|
e797f0b |
junpack.unpack(in, out);
|
|
|
e797f0b |
// p200 closes in but not out
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (out != null)
|
|
|
e797f0b |
+ out.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
// At this point, we have a good jarfile (or newfile, if -r)
|
|
|
e797f0b |
}
|
|
|
e797f0b |
@@ -411,7 +421,9 @@
|
|
|
e797f0b |
long filelen = new File(jarfile).length();
|
|
|
e797f0b |
if (filelen <= 0) return "";
|
|
|
e797f0b |
long skiplen = Math.max(0, filelen - tail.length);
|
|
|
e797f0b |
- try (InputStream in = new FileInputStream(new File(jarfile))) {
|
|
|
e797f0b |
+ InputStream in = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ in = new FileInputStream(new File(jarfile));
|
|
|
e797f0b |
in.skip(skiplen);
|
|
|
e797f0b |
in.read(tail);
|
|
|
e797f0b |
for (int i = tail.length-4; i >= 0; i--) {
|
|
|
e797f0b |
@@ -425,6 +437,9 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
return "";
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (in != null)
|
|
|
e797f0b |
+ in.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -241,9 +241,15 @@
|
|
|
e797f0b |
void run(File inFile, JarOutputStream jstream) throws IOException {
|
|
|
e797f0b |
// %%% maybe memory-map the file, and pass it straight into unpacker
|
|
|
e797f0b |
ByteBuffer mappedFile = null;
|
|
|
e797f0b |
- try (FileInputStream fis = new FileInputStream(inFile)) {
|
|
|
e797f0b |
+ FileInputStream fis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ fis = new FileInputStream(inFile);
|
|
|
e797f0b |
run(fis, jstream, mappedFile);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (fis != null)
|
|
|
e797f0b |
+ fis.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
// Note: caller is responsible to finish with jstream.
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -540,9 +540,15 @@
|
|
|
e797f0b |
Index index = initCPIndex(tag, cpMap);
|
|
|
e797f0b |
|
|
|
e797f0b |
if (optDumpBands) {
|
|
|
e797f0b |
- try (PrintStream ps = new PrintStream(getDumpStream(index, ".idx"))) {
|
|
|
e797f0b |
+ PrintStream ps = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ ps = new PrintStream(getDumpStream(index, ".idx"));
|
|
|
e797f0b |
printArrayTo(ps, index.cpMap, 0, index.cpMap.length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (ps != null)
|
|
|
e797f0b |
+ ps.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -828,9 +834,10 @@
|
|
|
e797f0b |
attr_definition_headers.readFrom(in);
|
|
|
e797f0b |
attr_definition_name.readFrom(in);
|
|
|
e797f0b |
attr_definition_layout.readFrom(in);
|
|
|
e797f0b |
- try (PrintStream dump = !optDumpBands ? null
|
|
|
e797f0b |
- : new PrintStream(getDumpStream(attr_definition_headers, ".def")))
|
|
|
e797f0b |
- {
|
|
|
e797f0b |
+ PrintStream dump = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ dump = !optDumpBands ? null
|
|
|
e797f0b |
+ : new PrintStream(getDumpStream(attr_definition_headers, ".def"));
|
|
|
e797f0b |
for (int i = 0; i < numAttrDefs; i++) {
|
|
|
e797f0b |
int header = attr_definition_headers.getByte();
|
|
|
e797f0b |
Utf8Entry name = (Utf8Entry) attr_definition_name.getRef();
|
|
|
e797f0b |
@@ -849,6 +856,10 @@
|
|
|
e797f0b |
if (dump != null) dump.println(index+" "+def);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (dump != null)
|
|
|
e797f0b |
+ dump.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
attr_definition_headers.doneDisbursing();
|
|
|
e797f0b |
attr_definition_name.doneDisbursing();
|
|
|
e797f0b |
attr_definition_layout.doneDisbursing();
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -458,9 +458,15 @@
|
|
|
e797f0b |
Utils.log.info("Writing "+cpMap.length+" "+ConstantPool.tagName(tag)+" entries...");
|
|
|
e797f0b |
|
|
|
e797f0b |
if (optDumpBands) {
|
|
|
e797f0b |
- try (PrintStream ps = new PrintStream(getDumpStream(index, ".idx"))) {
|
|
|
e797f0b |
+ PrintStream ps = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ ps = new PrintStream(getDumpStream(index, ".idx"));
|
|
|
e797f0b |
printArrayTo(ps, cpMap, 0, cpMap.length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (ps != null)
|
|
|
e797f0b |
+ ps.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
switch (tag) {
|
|
|
e797f0b |
@@ -923,9 +929,10 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
});
|
|
|
e797f0b |
attrDefsWritten = new Attribute.Layout[numAttrDefs];
|
|
|
e797f0b |
- try (PrintStream dump = !optDumpBands ? null
|
|
|
e797f0b |
- : new PrintStream(getDumpStream(attr_definition_headers, ".def")))
|
|
|
e797f0b |
- {
|
|
|
e797f0b |
+ PrintStream dump = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ dump = !optDumpBands ? null
|
|
|
e797f0b |
+ : new PrintStream(getDumpStream(attr_definition_headers, ".def"));
|
|
|
e797f0b |
int[] indexForDebug = Arrays.copyOf(attrIndexLimit, ATTR_CONTEXT_LIMIT);
|
|
|
e797f0b |
for (int i = 0; i < defs.length; i++) {
|
|
|
e797f0b |
int header = ((Integer)defs[i][0]).intValue();
|
|
|
e797f0b |
@@ -951,6 +958,10 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (dump != null)
|
|
|
e797f0b |
+ dump.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
void writeAttrCounts() throws IOException {
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/PropMap.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -123,8 +123,9 @@
|
|
|
e797f0b |
// Do this after the previous props are put in place,
|
|
|
e797f0b |
// to allow override if necessary.
|
|
|
e797f0b |
String propFile = "intrinsic.properties";
|
|
|
e797f0b |
-
|
|
|
e797f0b |
- try (InputStream propStr = PackerImpl.class.getResourceAsStream(propFile)) {
|
|
|
e797f0b |
+ InputStream propStr = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ propStr = PackerImpl.class.getResourceAsStream(propFile);
|
|
|
e797f0b |
if (propStr == null) {
|
|
|
e797f0b |
throw new RuntimeException(propFile + " cannot be loaded");
|
|
|
e797f0b |
}
|
|
|
e797f0b |
@@ -132,6 +133,14 @@
|
|
|
e797f0b |
} catch (IOException ee) {
|
|
|
e797f0b |
throw new RuntimeException(ee);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ if (propStr != null)
|
|
|
e797f0b |
+ propStr.close();
|
|
|
e797f0b |
+ } catch (IOException ee) {
|
|
|
e797f0b |
+ throw new RuntimeException(ee);
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
|
|
|
e797f0b |
for (Map.Entry<Object, Object> e : props.entrySet()) {
|
|
|
e797f0b |
String key = (String) e.getKey();
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -161,9 +161,15 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
// Use the stream-based implementation.
|
|
|
e797f0b |
// %%% Reconsider if native unpacker learns to memory-map the file.
|
|
|
e797f0b |
- try (FileInputStream instr = new FileInputStream(in)) {
|
|
|
e797f0b |
+ FileInputStream instr = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ instr = new FileInputStream(in);
|
|
|
e797f0b |
unpack(instr, out);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (instr != null)
|
|
|
e797f0b |
+ instr.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
if (props.getBoolean(Utils.UNPACK_REMOVE_PACKFILE)) {
|
|
|
e797f0b |
in.delete();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/com/sun/java/util/jar/pack/Utils.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -268,18 +268,30 @@
|
|
|
e797f0b |
// 4947205 : Peformance is slow when using pack-effort=0
|
|
|
e797f0b |
out = new BufferedOutputStream(out);
|
|
|
e797f0b |
out = new NonCloser(out); // protect from JarOutputStream.close()
|
|
|
e797f0b |
- try (JarOutputStream jout = new JarOutputStream(out)) {
|
|
|
e797f0b |
+ JarOutputStream jout = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ jout = new JarOutputStream(out);
|
|
|
e797f0b |
copyJarFile(in, jout);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (jout != null)
|
|
|
e797f0b |
+ jout.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
static void copyJarFile(JarFile in, OutputStream out) throws IOException {
|
|
|
e797f0b |
|
|
|
e797f0b |
// 4947205 : Peformance is slow when using pack-effort=0
|
|
|
e797f0b |
out = new BufferedOutputStream(out);
|
|
|
e797f0b |
out = new NonCloser(out); // protect from JarOutputStream.close()
|
|
|
e797f0b |
- try (JarOutputStream jout = new JarOutputStream(out)) {
|
|
|
e797f0b |
+ JarOutputStream jout = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ jout = new JarOutputStream(out);
|
|
|
e797f0b |
copyJarFile(in, jout);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (jout != null)
|
|
|
e797f0b |
+ jout.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
// Wrapper to prevent closing of client-supplied stream.
|
|
|
e797f0b |
static private
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/lang/Package.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/lang/Package.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -576,12 +576,23 @@
|
|
|
e797f0b |
* Returns the Manifest for the specified JAR file name.
|
|
|
e797f0b |
*/
|
|
|
e797f0b |
private static Manifest loadManifest(String fn) {
|
|
|
e797f0b |
- try (FileInputStream fis = new FileInputStream(fn);
|
|
|
e797f0b |
- JarInputStream jis = new JarInputStream(fis, false))
|
|
|
e797f0b |
- {
|
|
|
e797f0b |
+ FileInputStream fis = null;
|
|
|
e797f0b |
+ JarInputStream jis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ fis = new FileInputStream(fn);
|
|
|
e797f0b |
+ jis = new JarInputStream(fis, false);
|
|
|
e797f0b |
return jis.getManifest();
|
|
|
e797f0b |
} catch (IOException e) {
|
|
|
e797f0b |
return null;
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ if (jis != null)
|
|
|
e797f0b |
+ jis.close();
|
|
|
e797f0b |
+ if (fis != null)
|
|
|
e797f0b |
+ fis.close();
|
|
|
e797f0b |
+ } catch (IOException e) {
|
|
|
e797f0b |
+ return null;
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/nio/channels/SocketChannel.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -188,7 +188,7 @@
|
|
|
e797f0b |
} catch (Throwable suppressed) {
|
|
|
e797f0b |
x.addSuppressed(suppressed);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
- throw x;
|
|
|
e797f0b |
+ throw (IOException) x;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
assert sc.isConnected();
|
|
|
e797f0b |
return sc;
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/nio/file/CopyMoveHelper.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -122,9 +122,15 @@
|
|
|
e797f0b |
if (attrs.isDirectory()) {
|
|
|
e797f0b |
Files.createDirectory(target);
|
|
|
e797f0b |
} else {
|
|
|
e797f0b |
- try (InputStream in = Files.newInputStream(source)) {
|
|
|
e797f0b |
+ InputStream in = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ in = Files.newInputStream(source);
|
|
|
e797f0b |
Files.copy(in, target);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (in != null)
|
|
|
e797f0b |
+ in.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
// copy basic attributes to target
|
|
|
e797f0b |
@@ -142,7 +148,7 @@
|
|
|
e797f0b |
} catch (Throwable suppressed) {
|
|
|
e797f0b |
x.addSuppressed(suppressed);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
- throw x;
|
|
|
e797f0b |
+ throw (IOException) x;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/nio/file/Files.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -2833,8 +2833,11 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
// do the copy
|
|
|
e797f0b |
- try (OutputStream out = ostream) {
|
|
|
e797f0b |
- return copy(in, out);
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ return copy(in, ostream);
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ ostream.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -2875,9 +2878,15 @@
|
|
|
e797f0b |
// ensure not null before opening file
|
|
|
e797f0b |
Objects.requireNonNull(out);
|
|
|
e797f0b |
|
|
|
e797f0b |
- try (InputStream in = newInputStream(source)) {
|
|
|
e797f0b |
+ InputStream in = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ in = newInputStream(source);
|
|
|
e797f0b |
return copy(in, out);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (in != null)
|
|
|
e797f0b |
+ in.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
/**
|
|
|
e797f0b |
@@ -2943,8 +2952,14 @@
|
|
|
e797f0b |
if (size > (long)Integer.MAX_VALUE)
|
|
|
e797f0b |
throw new OutOfMemoryError("Required array size too large");
|
|
|
e797f0b |
|
|
|
e797f0b |
- try (InputStream in = newInputStream(path)) {
|
|
|
e797f0b |
- return read(in, (int)size);
|
|
|
e797f0b |
+ InputStream in = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ in = newInputStream(path);
|
|
|
e797f0b |
+ return read(in, (int)size);
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (in != null)
|
|
|
e797f0b |
+ in.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -2990,7 +3005,9 @@
|
|
|
e797f0b |
public static List<String> readAllLines(Path path, Charset cs)
|
|
|
e797f0b |
throws IOException
|
|
|
e797f0b |
{
|
|
|
e797f0b |
- try (BufferedReader reader = newBufferedReader(path, cs)) {
|
|
|
e797f0b |
+ BufferedReader reader = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ reader = newBufferedReader(path, cs);
|
|
|
e797f0b |
List<String> result = new ArrayList<>();
|
|
|
e797f0b |
for (;;) {
|
|
|
e797f0b |
String line = reader.readLine();
|
|
|
e797f0b |
@@ -3000,6 +3017,10 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
return result;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (reader != null)
|
|
|
e797f0b |
+ reader.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
/**
|
|
|
e797f0b |
@@ -3049,7 +3070,9 @@
|
|
|
e797f0b |
// ensure bytes is not null before opening file
|
|
|
e797f0b |
Objects.requireNonNull(bytes);
|
|
|
e797f0b |
|
|
|
e797f0b |
- try (OutputStream out = Files.newOutputStream(path, options)) {
|
|
|
e797f0b |
+ OutputStream out = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ out = Files.newOutputStream(path, options);
|
|
|
e797f0b |
int len = bytes.length;
|
|
|
e797f0b |
int rem = len;
|
|
|
e797f0b |
while (rem > 0) {
|
|
|
e797f0b |
@@ -3058,6 +3081,10 @@
|
|
|
e797f0b |
rem -= n;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (out != null)
|
|
|
e797f0b |
+ out.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
return path;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -3109,12 +3136,18 @@
|
|
|
e797f0b |
Objects.requireNonNull(lines);
|
|
|
e797f0b |
CharsetEncoder encoder = cs.newEncoder();
|
|
|
e797f0b |
OutputStream out = newOutputStream(path, options);
|
|
|
e797f0b |
- try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, encoder))) {
|
|
|
e797f0b |
+ BufferedWriter writer = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ writer = new BufferedWriter(new OutputStreamWriter(out, encoder));
|
|
|
e797f0b |
for (CharSequence line: lines) {
|
|
|
e797f0b |
writer.append(line);
|
|
|
e797f0b |
writer.newLine();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (writer != null)
|
|
|
e797f0b |
+ writer.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
return path;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/util/Currency.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/util/Currency.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -233,9 +233,14 @@
|
|
|
e797f0b |
"currency.properties");
|
|
|
e797f0b |
if (propFile.exists()) {
|
|
|
e797f0b |
Properties props = new Properties();
|
|
|
e797f0b |
- try (FileReader fr = new FileReader(propFile)) {
|
|
|
e797f0b |
+ FileReader fr = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ fr = new FileReader(propFile);
|
|
|
e797f0b |
props.load(fr);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ fr.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
Set<String> keys = props.stringPropertyNames();
|
|
|
e797f0b |
Pattern propertiesPattern =
|
|
|
e797f0b |
Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*([0-3])");
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/java/util/jar/JarFile.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -376,9 +376,15 @@
|
|
|
e797f0b |
*/
|
|
|
e797f0b |
private byte[] getBytes(ZipEntry ze) throws IOException {
|
|
|
e797f0b |
byte[] b = new byte[(int)ze.getSize()];
|
|
|
e797f0b |
- try (DataInputStream is = new DataInputStream(super.getInputStream(ze))) {
|
|
|
e797f0b |
+ DataInputStream is = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ is = new DataInputStream(super.getInputStream(ze));
|
|
|
e797f0b |
is.readFully(b, 0, b.length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (is != null)
|
|
|
e797f0b |
+ is.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
return b;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -480,11 +486,15 @@
|
|
|
e797f0b |
JarEntry manEntry = getManEntry();
|
|
|
e797f0b |
if (manEntry != null) {
|
|
|
e797f0b |
byte[] b = new byte[(int)manEntry.getSize()];
|
|
|
e797f0b |
- try (DataInputStream dis = new DataInputStream(
|
|
|
e797f0b |
- super.getInputStream(manEntry))) {
|
|
|
e797f0b |
+ DataInputStream dis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ dis = new DataInputStream(super.getInputStream(manEntry));
|
|
|
e797f0b |
dis.readFully(b, 0, b.length);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
-
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (dis != null)
|
|
|
e797f0b |
+ dis.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
int last = b.length - src.length;
|
|
|
e797f0b |
int i = 0;
|
|
|
e797f0b |
next:
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/javax/sql/rowset/serial/SerialClob.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -144,8 +144,9 @@
|
|
|
e797f0b |
buf = new char[(int)len];
|
|
|
e797f0b |
int read = 0;
|
|
|
e797f0b |
int offset = 0;
|
|
|
e797f0b |
-
|
|
|
e797f0b |
- try (Reader charStream = clob.getCharacterStream()) {
|
|
|
e797f0b |
+ Reader charStream = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ charStream = clob.getCharacterStream();
|
|
|
e797f0b |
if (charStream == null) {
|
|
|
e797f0b |
throw new SQLException("Invalid Clob object. The call to getCharacterStream " +
|
|
|
e797f0b |
"returned null which cannot be serialized.");
|
|
|
e797f0b |
@@ -153,23 +154,41 @@
|
|
|
e797f0b |
|
|
|
e797f0b |
// Note: get an ASCII stream in order to null-check it,
|
|
|
e797f0b |
// even though we don't do anything with it.
|
|
|
e797f0b |
- try (InputStream asciiStream = clob.getAsciiStream()) {
|
|
|
e797f0b |
+ InputStream asciiStream = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ asciiStream = clob.getAsciiStream();
|
|
|
e797f0b |
if (asciiStream == null) {
|
|
|
e797f0b |
throw new SQLException("Invalid Clob object. The call to getAsciiStream " +
|
|
|
e797f0b |
"returned null which cannot be serialized.");
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
-
|
|
|
e797f0b |
- try (Reader reader = new BufferedReader(charStream)) {
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (asciiStream != null)
|
|
|
e797f0b |
+ asciiStream.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ Reader reader = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ reader = new BufferedReader(charStream);
|
|
|
e797f0b |
do {
|
|
|
e797f0b |
read = reader.read(buf, offset, (int)(len - offset));
|
|
|
e797f0b |
offset += read;
|
|
|
e797f0b |
} while (read > 0);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (reader != null)
|
|
|
e797f0b |
+ reader.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
} catch (java.io.IOException ex) {
|
|
|
e797f0b |
throw new SerialException("SerialClob: " + ex.getMessage());
|
|
|
e797f0b |
}
|
|
|
e797f0b |
-
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ if (charStream != null)
|
|
|
e797f0b |
+ charStream.close();
|
|
|
e797f0b |
+ } catch (java.io.IOException ex) {
|
|
|
e797f0b |
+ throw new SerialException("SerialClob: " + ex.getMessage());
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
origLen = len;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/javax/sql/rowset/spi/SyncFactory.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -367,9 +367,15 @@
|
|
|
e797f0b |
// Load user's implementation of SyncProvider
|
|
|
e797f0b |
// here. -Drowset.properties=/abc/def/pqr.txt
|
|
|
e797f0b |
ROWSET_PROPERTIES = strRowsetProperties;
|
|
|
e797f0b |
- try (FileInputStream fis = new FileInputStream(ROWSET_PROPERTIES)) {
|
|
|
e797f0b |
+ FileInputStream fis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ fis = new FileInputStream(ROWSET_PROPERTIES);
|
|
|
e797f0b |
properties.load(fis);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (fis != null)
|
|
|
e797f0b |
+ fis.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
parseProperties(properties);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -381,15 +387,19 @@
|
|
|
e797f0b |
"rowset.properties";
|
|
|
e797f0b |
|
|
|
e797f0b |
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
|
|
e797f0b |
-
|
|
|
e797f0b |
- try (InputStream stream =
|
|
|
e797f0b |
- (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
|
|
|
e797f0b |
- : cl.getResourceAsStream(ROWSET_PROPERTIES)) {
|
|
|
e797f0b |
+ InputStream stream = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ stream =
|
|
|
e797f0b |
+ (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
|
|
|
e797f0b |
+ : cl.getResourceAsStream(ROWSET_PROPERTIES);
|
|
|
e797f0b |
if (stream == null) {
|
|
|
e797f0b |
throw new SyncFactoryException(
|
|
|
e797f0b |
"Resource " + ROWSET_PROPERTIES + " not found");
|
|
|
e797f0b |
}
|
|
|
e797f0b |
properties.load(stream);
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (stream != null)
|
|
|
e797f0b |
+ stream.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
parseProperties(properties);
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/sun/net/www/protocol/jar/URLJarFile.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -194,7 +194,8 @@
|
|
|
e797f0b |
* Given a URL, retrieves a JAR file, caches it to disk, and creates a
|
|
|
e797f0b |
* cached JAR file object.
|
|
|
e797f0b |
*/
|
|
|
e797f0b |
- private static JarFile retrieve(final URL url, final URLJarFileCloseController closeController) throws IOException {
|
|
|
e797f0b |
+ private static JarFile retrieve(final URL url, final URLJarFileCloseController closeController)
|
|
|
e797f0b |
+ throws IOException {
|
|
|
e797f0b |
/*
|
|
|
e797f0b |
* See if interface is set, then call retrieve function of the class
|
|
|
e797f0b |
* that implements URLJarFileCallBack interface (sun.plugin - to
|
|
|
e797f0b |
@@ -211,7 +212,8 @@
|
|
|
e797f0b |
JarFile result = null;
|
|
|
e797f0b |
|
|
|
e797f0b |
/* get the stream before asserting privileges */
|
|
|
e797f0b |
- try (final InputStream in = url.openConnection().getInputStream()) {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ final InputStream in = url.openConnection().getInputStream();
|
|
|
e797f0b |
result = AccessController.doPrivileged(
|
|
|
e797f0b |
new PrivilegedExceptionAction<JarFile>() {
|
|
|
e797f0b |
public JarFile run() throws IOException {
|
|
|
e797f0b |
@@ -227,7 +229,10 @@
|
|
|
e797f0b |
} catch (IOException ioe) {
|
|
|
e797f0b |
thr.addSuppressed(ioe);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
- throw thr;
|
|
|
e797f0b |
+ throw (IOException) thr;
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (in != null)
|
|
|
e797f0b |
+ in.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
});
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/sun/nio/fs/PollingWatchService.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -255,7 +255,9 @@
|
|
|
e797f0b |
this.entries = new HashMap<Path,CacheEntry>();
|
|
|
e797f0b |
|
|
|
e797f0b |
// get the initial entries in the directory
|
|
|
e797f0b |
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
|
|
|
e797f0b |
+ DirectoryStream<Path> stream = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ stream = Files.newDirectoryStream(dir);
|
|
|
e797f0b |
for (Path entry: stream) {
|
|
|
e797f0b |
// don't follow links
|
|
|
e797f0b |
long lastModified =
|
|
|
e797f0b |
@@ -264,6 +266,10 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
} catch (DirectoryIteratorException e) {
|
|
|
e797f0b |
throw e.getCause();
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (stream != null) {
|
|
|
e797f0b |
+ stream.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/sun/security/provider/SeedGenerator.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -179,7 +179,9 @@
|
|
|
e797f0b |
// The temporary dir
|
|
|
e797f0b |
File f = new File(p.getProperty("java.io.tmpdir"));
|
|
|
e797f0b |
int count = 0;
|
|
|
e797f0b |
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(f.toPath())) {
|
|
|
e797f0b |
+ DirectoryStream<Path> stream = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ stream = Files.newDirectoryStream(f.toPath());
|
|
|
e797f0b |
// We use a Random object to choose what file names
|
|
|
e797f0b |
// should be used. Otherwise on a machine with too
|
|
|
e797f0b |
// many files, the same first 1024 files always get
|
|
|
e797f0b |
@@ -194,6 +196,10 @@
|
|
|
e797f0b |
break;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (stream != null) {
|
|
|
e797f0b |
+ stream.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
} catch (Exception ex) {
|
|
|
e797f0b |
md.update((byte)ex.hashCode());
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -127,9 +127,15 @@
|
|
|
e797f0b |
calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() {
|
|
|
e797f0b |
public Object run() throws IOException {
|
|
|
e797f0b |
Properties props = new Properties();
|
|
|
e797f0b |
- try (FileInputStream fis = new FileInputStream(fname)) {
|
|
|
e797f0b |
+ FileInputStream fis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ fis = new FileInputStream(fname);
|
|
|
e797f0b |
props.load(fis);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (fis != null)
|
|
|
e797f0b |
+ fis.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
return props;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
});
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/share/demo/jfc/Font2DTest/RangeMenu.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -191,7 +191,7 @@
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
private static int[][] getUnicodeRanges() {
|
|
|
e797f0b |
- List<Integer> ranges = new ArrayList<>();
|
|
|
e797f0b |
+ List<Integer> ranges = new ArrayList<Integer>();
|
|
|
e797f0b |
ranges.add(0);
|
|
|
e797f0b |
Character.UnicodeBlock currentBlock = Character.UnicodeBlock.of(0);
|
|
|
e797f0b |
for (int cp = 0x000001; cp < 0x110000; cp++ ) {
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/solaris/classes/java/util/prefs/FileSystemPreferences.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -569,11 +569,11 @@
|
|
|
e797f0b |
public Void run() throws BackingStoreException {
|
|
|
e797f0b |
Map<String, String> m = new TreeMap<>();
|
|
|
e797f0b |
long newLastSyncTime = 0;
|
|
|
e797f0b |
+ FileInputStream fis = null;
|
|
|
e797f0b |
try {
|
|
|
e797f0b |
newLastSyncTime = prefsFile.lastModified();
|
|
|
e797f0b |
- try (FileInputStream fis = new FileInputStream(prefsFile)) {
|
|
|
e797f0b |
- XmlSupport.importMap(fis, m);
|
|
|
e797f0b |
- }
|
|
|
e797f0b |
+ fis = new FileInputStream(prefsFile);
|
|
|
e797f0b |
+ XmlSupport.importMap(fis, m);
|
|
|
e797f0b |
} catch(Exception e) {
|
|
|
e797f0b |
if (e instanceof InvalidPreferencesFormatException) {
|
|
|
e797f0b |
getLogger().warning("Invalid preferences format in "
|
|
|
e797f0b |
@@ -588,6 +588,13 @@
|
|
|
e797f0b |
} else {
|
|
|
e797f0b |
throw new BackingStoreException(e);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ if (fis != null)
|
|
|
e797f0b |
+ fis.close();
|
|
|
e797f0b |
+ } catch (IOException e) {
|
|
|
e797f0b |
+ throw new BackingStoreException(e);
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
}
|
|
|
e797f0b |
// Attempt succeeded; update state
|
|
|
e797f0b |
prefsCache = m;
|
|
|
e797f0b |
@@ -614,13 +621,14 @@
|
|
|
e797f0b |
AccessController.doPrivileged(
|
|
|
e797f0b |
new PrivilegedExceptionAction<Void>() {
|
|
|
e797f0b |
public Void run() throws BackingStoreException {
|
|
|
e797f0b |
+ FileOutputStream fos = null;
|
|
|
e797f0b |
try {
|
|
|
e797f0b |
if (!dir.exists() && !dir.mkdirs())
|
|
|
e797f0b |
throw new BackingStoreException(dir +
|
|
|
e797f0b |
" create failed.");
|
|
|
e797f0b |
- try (FileOutputStream fos = new FileOutputStream(tmpFile)) {
|
|
|
e797f0b |
- XmlSupport.exportMap(fos, prefsCache);
|
|
|
e797f0b |
- }
|
|
|
e797f0b |
+
|
|
|
e797f0b |
+ fos = new FileOutputStream(tmpFile);
|
|
|
e797f0b |
+ XmlSupport.exportMap(fos, prefsCache);
|
|
|
e797f0b |
if (!tmpFile.renameTo(prefsFile))
|
|
|
e797f0b |
throw new BackingStoreException("Can't rename " +
|
|
|
e797f0b |
tmpFile + " to " + prefsFile);
|
|
|
e797f0b |
@@ -629,6 +637,14 @@
|
|
|
e797f0b |
throw (BackingStoreException)e;
|
|
|
e797f0b |
throw new BackingStoreException(e);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ if (fos != null)
|
|
|
e797f0b |
+ fos.close();
|
|
|
e797f0b |
+ } catch (IOException e) {
|
|
|
e797f0b |
+ throw new BackingStoreException(e);
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
return null;
|
|
|
e797f0b |
}
|
|
|
e797f0b |
});
|
|
|
e797f0b |
diff -r 1631a3dee8fc src/solaris/classes/sun/nio/fs/UnixFileStore.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java Wed Apr 20 04:38:36 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java Fri Apr 29 01:50:44 2011 +0100
|
|
|
e797f0b |
@@ -255,9 +255,16 @@
|
|
|
e797f0b |
String fstypes = System.getProperty("java.home") + "/lib/fstypes.properties";
|
|
|
e797f0b |
Path file = Paths.get(fstypes);
|
|
|
e797f0b |
try {
|
|
|
e797f0b |
- try (ReadableByteChannel rbc = Files.newByteChannel(file)) {
|
|
|
e797f0b |
+ ReadableByteChannel rbc = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ rbc = Files.newByteChannel(file);
|
|
|
e797f0b |
result.load(Channels.newReader(rbc, "UTF-8"));
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ finally {
|
|
|
e797f0b |
+ if (rbc != null) {
|
|
|
e797f0b |
+ rbc.close();
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
+ }
|
|
|
e797f0b |
} catch (IOException x) {
|
|
|
e797f0b |
}
|
|
|
e797f0b |
return result;
|
|
|
e797f0b |
diff -r d28f54a421b1 src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
|
|
|
e797f0b |
--- openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java Mon Jun 13 15:58:42 2011 +0100
|
|
|
e797f0b |
+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java Tue Jun 21 14:46:11 2011 +0100
|
|
|
e797f0b |
@@ -92,9 +92,13 @@
|
|
|
e797f0b |
tabName = filename;
|
|
|
e797f0b |
try {
|
|
|
e797f0b |
lastModified = new File(tabName).lastModified();
|
|
|
e797f0b |
- try (KeyTabInputStream kis =
|
|
|
e797f0b |
- new KeyTabInputStream(new FileInputStream(filename))) {
|
|
|
e797f0b |
+ KeyTabInputStream kis = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ kis = new KeyTabInputStream(new FileInputStream(filename));
|
|
|
e797f0b |
load(kis);
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (kis != null)
|
|
|
e797f0b |
+ kis.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
} catch (FileNotFoundException e) {
|
|
|
e797f0b |
entries.clear();
|
|
|
e797f0b |
@@ -439,9 +443,13 @@
|
|
|
e797f0b |
public synchronized static KeyTab create(String name)
|
|
|
e797f0b |
throws IOException, RealmException {
|
|
|
e797f0b |
|
|
|
e797f0b |
- try (KeyTabOutputStream kos =
|
|
|
e797f0b |
- new KeyTabOutputStream(new FileOutputStream(name))) {
|
|
|
e797f0b |
+ KeyTabOutputStream kos = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ kos = new KeyTabOutputStream(new FileOutputStream(name));
|
|
|
e797f0b |
kos.writeVersion(KRB5_KT_VNO);
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (kos != null)
|
|
|
e797f0b |
+ kos.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
return new KeyTab(name);
|
|
|
e797f0b |
}
|
|
|
e797f0b |
@@ -450,12 +458,16 @@
|
|
|
e797f0b |
* Saves the file at the directory.
|
|
|
e797f0b |
*/
|
|
|
e797f0b |
public synchronized void save() throws IOException {
|
|
|
e797f0b |
- try (KeyTabOutputStream kos =
|
|
|
e797f0b |
- new KeyTabOutputStream(new FileOutputStream(tabName))) {
|
|
|
e797f0b |
+ KeyTabOutputStream kos = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ kos = new KeyTabOutputStream(new FileOutputStream(tabName));
|
|
|
e797f0b |
kos.writeVersion(kt_vno);
|
|
|
e797f0b |
for (int i = 0; i < entries.size(); i++) {
|
|
|
e797f0b |
kos.writeEntry(entries.elementAt(i));
|
|
|
e797f0b |
}
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (kos != null)
|
|
|
e797f0b |
+ kos.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
|
|
|
e797f0b |
@@ -519,9 +531,13 @@
|
|
|
e797f0b |
* @exception IOException.
|
|
|
e797f0b |
*/
|
|
|
e797f0b |
public synchronized void createVersion(File file) throws IOException {
|
|
|
e797f0b |
- try (KeyTabOutputStream kos =
|
|
|
e797f0b |
- new KeyTabOutputStream(new FileOutputStream(file))) {
|
|
|
e797f0b |
+ KeyTabOutputStream kos = null;
|
|
|
e797f0b |
+ try {
|
|
|
e797f0b |
+ kos = new KeyTabOutputStream(new FileOutputStream(file));
|
|
|
e797f0b |
kos.write16(KRB5_KT_VNO);
|
|
|
e797f0b |
+ } finally {
|
|
|
e797f0b |
+ if (kos != null)
|
|
|
e797f0b |
+ kos.close();
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|
|
|
e797f0b |
}
|