public class java.util.zip.ZipFile implements java.util.zip.ZipConstants, java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.zip.ZipFile
super_class: java.lang.Object
{
private long jzfile;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int total;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean locsig;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean closeRequested;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final int STORED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DEFLATED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int OPEN_READ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int OPEN_DELETE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final boolean usemmap;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean ensuretrailingslash;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.zip.ZipCoder zc;
descriptor: Ljava/util/zip/ZipCoder;
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.io.InputStream, java.util.zip.Inflater> streams;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/io/InputStream;Ljava/util/zip/Inflater;>;
private java.util.Deque<java.util.zip.Inflater> inflaterCache;
descriptor: Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Deque<Ljava/util/zip/Inflater;>;
private static final int JZENTRY_NAME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.util.zip.ZipFile.initIDs:()V
1: ldc "sun.zip.disableMemoryMapping"
invokestatic sun.misc.VM.getSavedProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 2: aload 0
ifnull 5
3: aload 0
invokevirtual java.lang.String.length:()I
ifeq 4
aload 0
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 5
StackMap locals: java.lang.String
StackMap stack:
4: iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
6: StackMap locals:
StackMap stack: int
putstatic java.util.zip.ZipFile.usemmap:Z
7: ldc "jdk.util.zip.ensureTrailingSlash"
invokestatic sun.misc.VM.getSavedProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
8: aload 0
ifnull 9
aload 0
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: putstatic java.util.zip.ZipFile.ensuretrailingslash:Z
end local 0 11: new java.util.zip.ZipFile$1
dup
invokespecial java.util.zip.ZipFile$1.<init>:()V
12: invokestatic sun.misc.SharedSecrets.setJavaUtilZipFileAccess:(Lsun/misc/JavaUtilZipFileAccess;)V
13: return
LocalVariableTable:
Start End Slot Name Signature
2 11 0 prop Ljava/lang/String;
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iconst_1
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
0 2 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public void <init>(java.io.File, int);
descriptor: (Ljava/io/File;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;ILjava/nio/charset/Charset;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
0 2 1 file Ljava/io/File;
0 2 2 mode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
mode
public void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
0 2 1 file Ljava/io/File;
Exceptions:
throws java.util.zip.ZipException, java.io.IOException
MethodParameters:
Name Flags
file
public void <init>(java.io.File, int, java.nio.charset.Charset);
descriptor: (Ljava/io/File;ILjava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.util.zip.ZipFile.closeRequested:Z
2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.util.zip.ZipFile.streams:Ljava/util/Map;
3: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
4: iload 2
iconst_1
iand
ifeq 6
5: iload 2
bipush -6
iand
ifeq 9
6: StackMap locals: java.util.zip.ZipFile java.io.File int java.nio.charset.Charset
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal mode: 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: iload 2
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
astore 4
start local 4 10: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 11: aload 5
ifnull 15
12: aload 5
aload 4
invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
13: iload 2
iconst_4
iand
ifeq 15
14: aload 5
aload 4
invokevirtual java.lang.SecurityManager.checkDelete:(Ljava/lang/String;)V
15: StackMap locals: java.lang.String java.lang.SecurityManager
StackMap stack:
aload 3
ifnonnull 17
16: new java.lang.NullPointerException
dup
ldc "charset is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
aload 3
invokestatic java.util.zip.ZipCoder.get:(Ljava/nio/charset/Charset;)Ljava/util/zip/ZipCoder;
putfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
18: invokestatic java.lang.System.nanoTime:()J
lstore 6
start local 6 19: aload 0
aload 4
iload 2
aload 1
invokevirtual java.io.File.lastModified:()J
getstatic java.util.zip.ZipFile.usemmap:Z
invokestatic java.util.zip.ZipFile.open:(Ljava/lang/String;IJZ)J
putfield java.util.zip.ZipFile.jzfile:J
20: invokestatic sun.misc.PerfCounter.getZipFileOpenTime:()Lsun/misc/PerfCounter;
lload 6
invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
21: invokestatic sun.misc.PerfCounter.getZipFileCount:()Lsun/misc/PerfCounter;
invokevirtual sun.misc.PerfCounter.increment:()V
22: aload 0
aload 4
putfield java.util.zip.ZipFile.name:Ljava/lang/String;
23: aload 0
aload 0
getfield java.util.zip.ZipFile.jzfile:J
invokestatic java.util.zip.ZipFile.getTotal:(J)I
putfield java.util.zip.ZipFile.total:I
24: aload 0
aload 0
getfield java.util.zip.ZipFile.jzfile:J
invokestatic java.util.zip.ZipFile.startsWithLOC:(J)Z
putfield java.util.zip.ZipFile.locsig:Z
25: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/util/zip/ZipFile;
0 26 1 file Ljava/io/File;
0 26 2 mode I
0 26 3 charset Ljava/nio/charset/Charset;
10 26 4 name Ljava/lang/String;
11 26 5 sm Ljava/lang/SecurityManager;
19 26 6 t0 J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
mode
charset
public void <init>(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iconst_1
aload 2
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;ILjava/nio/charset/Charset;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
0 2 1 name Ljava/lang/String;
0 2 2 charset Ljava/nio/charset/Charset;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
charset
public void <init>(java.io.File, java.nio.charset.Charset);
descriptor: (Ljava/io/File;Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
aload 2
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;ILjava/nio/charset/Charset;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
0 2 1 file Ljava/io/File;
0 2 2 charset Ljava/nio/charset/Charset;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
charset
public java.lang.String ();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual java.util.zip.ZipFile.ensureOpen:()V
2: aload 0
getfield java.util.zip.ZipFile.jzfile:J
invokestatic java.util.zip.ZipFile.getCommentBytes:(J)[B
astore 2
start local 2 3: aload 2
ifnonnull 6
4: aload 1
monitorexit
5: aconst_null
areturn
6: StackMap locals: java.util.zip.ZipFile byte[]
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 2
aload 2
arraylength
invokevirtual java.util.zip.ZipCoder.toString:([BI)Ljava/lang/String;
aload 1
monitorexit
7: areturn
end local 2 8: StackMap locals: java.util.zip.ZipFile java.util.zip.ZipFile
StackMap stack: java.lang.Throwable
aload 1
monitorexit
9: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/zip/ZipFile;
3 8 2 bcomm [B
Exception table:
from to target type
1 5 8 any
6 7 8 any
8 9 8 any
public java.util.zip.ZipEntry getEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/zip/ZipEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "name"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
lconst_0
lstore 2
start local 2 3: aload 0
dup
astore 4
monitorenter
4: aload 0
invokevirtual java.util.zip.ZipFile.ensureOpen:()V
5: aload 0
getfield java.util.zip.ZipFile.jzfile:J
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 1
invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
iconst_1
invokestatic java.util.zip.ZipFile.getEntry:(J[BZ)J
lstore 2
6: lload 2
lconst_0
lcmp
ifeq 13
7: getstatic java.util.zip.ZipFile.ensuretrailingslash:Z
ifeq 8
aload 0
aconst_null
lload 2
invokevirtual java.util.zip.ZipFile.getZipEntry:(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
goto 9
8: StackMap locals: long java.util.zip.ZipFile
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual java.util.zip.ZipFile.getZipEntry:(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
9: StackMap locals:
StackMap stack: java.util.zip.ZipEntry
astore 5
start local 5 10: aload 0
getfield java.util.zip.ZipFile.jzfile:J
lload 2
invokestatic java.util.zip.ZipFile.freeEntry:(JJ)V
11: aload 5
aload 4
monitorexit
12: areturn
end local 5 13: StackMap locals:
StackMap stack:
aload 4
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 4
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/util/zip/ZipFile;
0 18 1 name Ljava/lang/String;
3 18 2 jzentry J
10 13 5 ze Ljava/util/zip/ZipEntry;
Exception table:
from to target type
4 12 15 any
13 14 15 any
15 16 15 any
MethodParameters:
Name Flags
name
private static native long getEntry(long, byte[], boolean);
descriptor: (J[BZ)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
name
addSlash
private static native void freeEntry(long, long);
descriptor: (JJ)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
jzentry
public java.io.InputStream getInputStream(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "entry"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
lconst_0
lstore 2
start local 2 3: aconst_null
astore 4
start local 4 4: aload 0
dup
astore 5
monitorenter
5: aload 0
invokevirtual java.util.zip.ZipFile.ensureOpen:()V
6: aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
ifne 9
aload 1
getfield java.util.zip.ZipEntry.flag:I
sipush 2048
iand
ifeq 9
7: aload 0
getfield java.util.zip.ZipFile.jzfile:J
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 1
getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
invokevirtual java.util.zip.ZipCoder.getBytesUTF8:(Ljava/lang/String;)[B
iconst_0
invokestatic java.util.zip.ZipFile.getEntry:(J[BZ)J
lstore 2
8: goto 10
9: StackMap locals: long java.util.zip.ZipFile$ZipFileInputStream java.util.zip.ZipFile
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.jzfile:J
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 1
getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
iconst_0
invokestatic java.util.zip.ZipFile.getEntry:(J[BZ)J
lstore 2
10: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 13
11: aload 5
monitorexit
12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
new java.util.zip.ZipFile$ZipFileInputStream
dup
aload 0
lload 2
invokespecial java.util.zip.ZipFile$ZipFileInputStream.<init>:(Ljava/util/zip/ZipFile;J)V
astore 4
14: lload 2
invokestatic java.util.zip.ZipFile.getEntryMethod:(J)I
lookupswitch { // 2
0: 15
8: 23
default: 37
}
15: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
dup
astore 6
monitorenter
16: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
aload 4
aconst_null
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 6
monitorexit
18: goto 21
StackMap locals: java.util.zip.ZipFile java.util.zip.ZipEntry long java.util.zip.ZipFile$ZipFileInputStream java.util.zip.ZipFile java.util.Map
StackMap stack: java.lang.Throwable
19: aload 6
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 4
aload 5
monitorexit
22: areturn
23: StackMap locals:
StackMap stack:
lload 2
invokestatic java.util.zip.ZipFile.getEntrySize:(J)J
ldc 2
ladd
lstore 6
start local 6 24: lload 6
ldc 65536
lcmp
ifle 25
ldc 8192
lstore 6
25: StackMap locals: long
StackMap stack:
lload 6
lconst_0
lcmp
ifgt 26
ldc 4096
lstore 6
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.zip.ZipFile.getInflater:()Ljava/util/zip/Inflater;
astore 8
start local 8 27: new java.util.zip.ZipFile$ZipFileInflaterInputStream
dup
aload 0
aload 4
aload 8
lload 6
l2i
invokespecial java.util.zip.ZipFile$ZipFileInflaterInputStream.<init>:(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipFile$ZipFileInputStream;Ljava/util/zip/Inflater;I)V
28: astore 9
start local 9 29: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
dup
astore 10
monitorenter
30: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
aload 9
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: aload 10
monitorexit
32: goto 35
StackMap locals: java.util.zip.ZipFile java.util.zip.ZipEntry long java.util.zip.ZipFile$ZipFileInputStream java.util.zip.ZipFile long java.util.zip.Inflater java.io.InputStream java.util.Map
StackMap stack: java.lang.Throwable
33: aload 10
monitorexit
34: athrow
35: StackMap locals:
StackMap stack:
aload 9
aload 5
monitorexit
36: areturn
end local 9 end local 8 end local 6 37: StackMap locals:
StackMap stack:
new java.util.zip.ZipException
dup
ldc "invalid compression method"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
39: athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/util/zip/ZipFile;
0 40 1 entry Ljava/util/zip/ZipEntry;
3 40 2 jzentry J
4 40 4 in Ljava/util/zip/ZipFile$ZipFileInputStream;
24 37 6 size J
27 37 8 inf Ljava/util/zip/Inflater;
29 37 9 is Ljava/io/InputStream;
Exception table:
from to target type
16 18 19 any
19 20 19 any
30 32 33 any
33 34 33 any
5 12 38 any
13 22 38 any
23 36 38 any
37 39 38 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
entry
private java.util.zip.Inflater getInflater();
descriptor: ()Ljava/util/zip/Inflater;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
dup
astore 2
monitorenter
1: goto 5
start local 1 2: StackMap locals: java.util.zip.Inflater java.util.Deque
StackMap stack:
aload 1
invokevirtual java.util.zip.Inflater.ended:()Z
ifne 5
3: aload 1
aload 2
monitorexit
4: areturn
end local 1 5: StackMap locals: java.util.zip.ZipFile top java.util.Deque
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast java.util.zip.Inflater
dup
astore 1
start local 1 6: ifnonnull 2
7: aload 2
monitorexit
8: goto 11
end local 1 StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
start local 1 11: StackMap locals: java.util.zip.ZipFile java.util.zip.Inflater
StackMap stack:
new java.util.zip.Inflater
dup
iconst_1
invokespecial java.util.zip.Inflater.<init>:(Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/zip/ZipFile;
2 5 1 inf Ljava/util/zip/Inflater;
6 9 1 inf Ljava/util/zip/Inflater;
11 12 1 inf Ljava/util/zip/Inflater;
Exception table:
from to target type
1 4 9 any
5 8 9 any
9 10 9 any
private void releaseInflater(java.util.zip.Inflater);
descriptor: (Ljava/util/zip/Inflater;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.zip.Inflater.ended:()Z
ifne 8
1: aload 1
invokevirtual java.util.zip.Inflater.reset:()V
2: aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
dup
astore 2
monitorenter
3: aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
4: aload 2
monitorexit
5: goto 8
StackMap locals: java.util.zip.ZipFile java.util.zip.Inflater java.util.Deque
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/zip/ZipFile;
0 9 1 inf Ljava/util/zip/Inflater;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
inf
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile;
public java.util.Enumeration<? extends java.util.zip.ZipEntry> entries();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.zip.ZipFile$ZipEntryIterator
dup
aload 0
invokespecial java.util.zip.ZipFile$ZipEntryIterator.<init>:(Ljava/util/zip/ZipFile;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile;
Signature: ()Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
public java.util.stream.Stream<? extends java.util.zip.ZipEntry> stream();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.zip.ZipFile$ZipEntryIterator
dup
aload 0
invokespecial java.util.zip.ZipFile$ZipEntryIterator.<init>:(Ljava/util/zip/ZipFile;)V
aload 0
invokevirtual java.util.zip.ZipFile.size:()I
i2l
1: sipush 1297
2: invokestatic java.util.Spliterators.spliterator:(Ljava/util/Iterator;JI)Ljava/util/Spliterator;
3: iconst_0
4: invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/zip/ZipFile;
Signature: ()Ljava/util/stream/Stream<+Ljava/util/zip/ZipEntry;>;
private java.util.zip.ZipEntry getZipEntry(java.lang.String, long);
descriptor: (Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.zip.ZipEntry
dup
invokespecial java.util.zip.ZipEntry.<init>:()V
astore 4
start local 4 1: aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntryFlag:(J)I
putfield java.util.zip.ZipEntry.flag:I
2: aload 1
ifnull 5
3: aload 4
aload 1
putfield java.util.zip.ZipEntry.name:Ljava/lang/String;
4: goto 13
5: StackMap locals: java.util.zip.ZipEntry
StackMap stack:
lload 2
iconst_0
invokestatic java.util.zip.ZipFile.getEntryBytes:(JI)[B
astore 5
start local 5 6: aload 5
ifnonnull 9
7: aload 4
ldc ""
putfield java.util.zip.ZipEntry.name:Ljava/lang/String;
8: goto 13
StackMap locals: byte[]
StackMap stack:
9: aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
ifne 12
aload 4
getfield java.util.zip.ZipEntry.flag:I
sipush 2048
iand
ifeq 12
10: aload 4
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 5
aload 5
arraylength
invokevirtual java.util.zip.ZipCoder.toStringUTF8:([BI)Ljava/lang/String;
putfield java.util.zip.ZipEntry.name:Ljava/lang/String;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 5
aload 5
arraylength
invokevirtual java.util.zip.ZipCoder.toString:([BI)Ljava/lang/String;
putfield java.util.zip.ZipEntry.name:Ljava/lang/String;
end local 5 13: StackMap locals:
StackMap stack:
aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntryTime:(J)J
putfield java.util.zip.ZipEntry.xdostime:J
14: aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntryCrc:(J)J
putfield java.util.zip.ZipEntry.crc:J
15: aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntrySize:(J)J
putfield java.util.zip.ZipEntry.size:J
16: aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntryCSize:(J)J
putfield java.util.zip.ZipEntry.csize:J
17: aload 4
lload 2
invokestatic java.util.zip.ZipFile.getEntryMethod:(J)I
putfield java.util.zip.ZipEntry.method:I
18: aload 4
lload 2
iconst_1
invokestatic java.util.zip.ZipFile.getEntryBytes:(JI)[B
iconst_0
invokevirtual java.util.zip.ZipEntry.setExtra0:([BZ)V
19: lload 2
iconst_2
invokestatic java.util.zip.ZipFile.getEntryBytes:(JI)[B
astore 5
start local 5 20: aload 5
ifnonnull 23
21: aload 4
aconst_null
putfield java.util.zip.ZipEntry.comment:Ljava/lang/String;
22: goto 27
23: StackMap locals: byte[]
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
ifne 26
aload 4
getfield java.util.zip.ZipEntry.flag:I
sipush 2048
iand
ifeq 26
24: aload 4
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 5
aload 5
arraylength
invokevirtual java.util.zip.ZipCoder.toStringUTF8:([BI)Ljava/lang/String;
putfield java.util.zip.ZipEntry.comment:Ljava/lang/String;
25: goto 27
26: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield java.util.zip.ZipFile.zc:Ljava/util/zip/ZipCoder;
aload 5
aload 5
arraylength
invokevirtual java.util.zip.ZipCoder.toString:([BI)Ljava/lang/String;
putfield java.util.zip.ZipEntry.comment:Ljava/lang/String;
27: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljava/util/zip/ZipFile;
0 28 1 name Ljava/lang/String;
0 28 2 jzentry J
1 28 4 e Ljava/util/zip/ZipEntry;
6 13 5 bname [B
20 28 5 bcomm [B
MethodParameters:
Name Flags
name
jzentry
private static native long getNextEntry(long, int);
descriptor: (JI)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
i
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.zip.ZipFile.ensureOpen:()V
1: aload 0
getfield java.util.zip.ZipFile.total:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.closeRequested:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.util.zip.ZipFile.closeRequested:Z
3: aload 0
dup
astore 1
monitorenter
4: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
dup
astore 2
monitorenter
5: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 15
6: new java.util.HashMap
dup
aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 3
start local 3 7: aload 0
getfield java.util.zip.ZipFile.streams:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
8: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: java.util.zip.ZipFile java.util.zip.ZipFile java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 10: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.io.InputStream
invokevirtual java.io.InputStream.close:()V
11: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.zip.Inflater
astore 6
start local 6 12: aload 6
ifnull 14
13: aload 6
invokevirtual java.util.zip.Inflater.end:()V
end local 6 end local 4 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 3 15: StackMap locals: java.util.zip.ZipFile java.util.zip.ZipFile java.util.Map
StackMap stack:
aload 2
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 2
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
dup
astore 3
monitorenter
20: goto 22
start local 2 21: StackMap locals: java.util.zip.Inflater java.util.Deque
StackMap stack:
aload 2
invokevirtual java.util.zip.Inflater.end:()V
end local 2 22: StackMap locals: java.util.zip.ZipFile java.util.zip.ZipFile top java.util.Deque
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.inflaterCache:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast java.util.zip.Inflater
dup
astore 2
start local 2 23: ifnonnull 21
24: aload 3
monitorexit
25: goto 28
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 3
monitorexit
27: athrow
start local 2 28: StackMap locals: java.util.zip.ZipFile java.util.zip.ZipFile java.util.zip.Inflater
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.jzfile:J
lconst_0
lcmp
ifeq 32
29: aload 0
getfield java.util.zip.ZipFile.jzfile:J
lstore 3
start local 3 30: aload 0
lconst_0
putfield java.util.zip.ZipFile.jzfile:J
31: lload 3
invokestatic java.util.zip.ZipFile.close:(J)V
end local 3 end local 2 32: StackMap locals:
StackMap stack:
aload 1
monitorexit
33: goto 36
StackMap locals:
StackMap stack: java.lang.Throwable
34: aload 1
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/util/zip/ZipFile;
7 15 3 copy Ljava/util/Map<Ljava/io/InputStream;Ljava/util/zip/Inflater;>;
10 14 4 e Ljava/util/Map$Entry<Ljava/io/InputStream;Ljava/util/zip/Inflater;>;
12 14 6 inf Ljava/util/zip/Inflater;
21 22 2 inf Ljava/util/zip/Inflater;
23 26 2 inf Ljava/util/zip/Inflater;
28 32 2 inf Ljava/util/zip/Inflater;
30 32 3 zf J
Exception table:
from to target type
5 16 17 any
17 18 17 any
20 25 26 any
26 27 26 any
4 33 34 any
34 35 34 any
Exceptions:
throws java.io.IOException
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.zip.ZipFile.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/ZipFile;
Exceptions:
throws java.io.IOException
private static native void close(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.closeRequested:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "zip file closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile.jzfile:J
lconst_0
lcmp
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "The object is not initialized."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/zip/ZipFile;
private void ensureOpenOrZipException();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.closeRequested:Z
ifeq 2
1: new java.util.zip.ZipException
dup
ldc "ZipFile closed"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/zip/ZipFile;
Exceptions:
throws java.io.IOException
private boolean ();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile.locsig:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile;
private static native long open(java.lang.String, int, long, boolean);
descriptor: (Ljava/lang/String;IJZ)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
mode
lastModified
usemmap
private static native int getTotal(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
private static native boolean startsWithLOC(long);
descriptor: (J)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
private static native int read(long, long, long, byte[], int, int);
descriptor: (JJJ[BII)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
jzentry
pos
b
off
len
private static native long getEntryTime(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native long getEntryCrc(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native long getEntryCSize(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native long getEntrySize(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native int getEntryMethod(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native int getEntryFlag(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
private static native byte[] (long);
descriptor: (J)[B
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
private static native byte[] getEntryBytes(long, int);
descriptor: (JI)[B
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzentry
type
private static native java.lang.String getZipMessage(long);
descriptor: (J)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
jzfile
}
SourceFile: "ZipFile.java"
NestMembers:
java.util.zip.ZipFile$1 java.util.zip.ZipFile$ZipEntryIterator java.util.zip.ZipFile$ZipFileInflaterInputStream java.util.zip.ZipFile$ZipFileInputStream
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
java.util.zip.ZipFile$1
private ZipEntryIterator = java.util.zip.ZipFile$ZipEntryIterator of java.util.zip.ZipFile
private ZipFileInflaterInputStream = java.util.zip.ZipFile$ZipFileInflaterInputStream of java.util.zip.ZipFile
private ZipFileInputStream = java.util.zip.ZipFile$ZipFileInputStream of java.util.zip.ZipFile