src/share/classes/sun/applet/AppletPanel.java
Print this page
@@ -792,23 +792,18 @@
if (code != null) {
applet = (Applet)loader.loadCode(code).newInstance();
doInit = true;
} else {
// serName is not null;
- InputStream is = (InputStream)
- java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
- return loader.getResourceAsStream(serName);
- }
- });
- ObjectInputStream ois =
- new AppletObjectInputStream(is, loader);
- Object serObject = ois.readObject();
- applet = (Applet) serObject;
+ try (InputStream is = AccessController.doPrivileged(
+ (PrivilegedAction<InputStream>)() -> loader.getResourceAsStream(serName));
+ ObjectInputStream ois = new AppletObjectInputStream(is, loader)) {
+
+ applet = (Applet) ois.readObject();
doInit = false; // skip over the first init
}
+ }
// Determine the JDK level that the applet targets.
// This is critical for enabling certain backward
// compatibility switch if an applet is a JDK 1.1
// applet. [stanley.ho]
@@ -1237,24 +1232,17 @@
name = name.replace('.', '/');
// append .class
final String resourceName = name + ".class";
- InputStream is = null;
byte[] classHeader = new byte[8];
- try {
- is = (InputStream) java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
- return loader.getResourceAsStream(resourceName);
- }
- });
+ try (InputStream is = AccessController.doPrivileged(
+ (PrivilegedAction<InputStream>) () -> loader.getResourceAsStream(resourceName))) {
// Read the first 8 bytes of the class file
int byteRead = is.read(classHeader, 0, 8);
- is.close();
// return if the header is not read in entirely
// for some reasons.
if (byteRead != 8)
return;