class java.util.zip.ZipFile$ZipFileInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.zip.ZipFile$ZipFileInputStream
super_class: java.io.InputStream
{
private volatile boolean closeRequested;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long pos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
protected long rem;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long size;
descriptor: J
flags: (0x0004) ACC_PROTECTED
final java.util.zip.ZipFile this$0;
descriptor: Ljava/util/zip/ZipFile;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.util.zip.ZipFile, byte[], int);
descriptor: (Ljava/util/zip/ZipFile;[BI)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
aload 2
iload 3
invokestatic java.util.zip.ZipUtils.CENSIZ:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
2: aload 0
aload 2
iload 3
invokestatic java.util.zip.ZipUtils.CENLEN:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.size:J
3: aload 0
aload 2
iload 3
invokestatic java.util.zip.ZipUtils.CENOFF:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
4: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
ldc 4294967295
lcmp
ifeq 6
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.size:J
ldc 4294967295
lcmp
ifeq 6
5: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
ldc 4294967295
lcmp
ifne 7
6: StackMap locals: java.util.zip.ZipFile$ZipFileInputStream java.util.zip.ZipFile byte[] int
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.checkZIP64:([BI)V
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
aload 1
getfield java.util.zip.ZipFile.res:Ljava/util/zip/ZipFile$CleanableResource;
getfield java.util.zip.ZipFile$CleanableResource.zsrc:Ljava/util/zip/ZipFile$Source;
getfield java.util.zip.ZipFile$Source.locpos:J
ladd
lneg
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
8: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
0 9 2 cen [B
0 9 3 cenpos I
MethodParameters:
Name Flags
this$0 final
cen
cenpos
private void checkZIP64(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 46
iadd
aload 1
iload 2
invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
iadd
istore 3
start local 3 1: iload 3
aload 1
iload 2
invokestatic java.util.zip.ZipUtils.CENEXT:([BI)I
iadd
istore 4
start local 4 2: goto 29
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokestatic java.util.zip.ZipUtils.get16:([BI)I
istore 5
start local 5 4: aload 1
iload 3
iconst_2
iadd
invokestatic java.util.zip.ZipUtils.get16:([BI)I
istore 6
start local 6 5: iinc 3 4
6: iload 3
iload 6
iadd
iload 4
if_icmple 8
7: goto 30
8: StackMap locals: int int
StackMap stack:
iload 5
iconst_1
if_icmpne 28
9: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.size:J
ldc 4294967295
lcmp
ifne 15
10: iload 6
bipush 8
if_icmplt 30
iload 3
bipush 8
iadd
iload 4
if_icmple 12
11: goto 30
12: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokestatic java.util.zip.ZipUtils.get64:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.size:J
13: iinc 6 -8
14: iinc 3 8
15: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
ldc 4294967295
lcmp
ifne 21
16: iload 6
bipush 8
if_icmplt 30
iload 3
bipush 8
iadd
iload 4
if_icmple 18
17: goto 30
18: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokestatic java.util.zip.ZipUtils.get64:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
19: iinc 6 -8
20: iinc 3 8
21: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
ldc 4294967295
lcmp
ifne 30
22: iload 6
bipush 8
if_icmplt 30
iload 3
bipush 8
iadd
iload 4
if_icmple 24
23: goto 30
24: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokestatic java.util.zip.ZipUtils.get64:([BI)J
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
25: iinc 6 -8
26: iinc 3 8
27: goto 30
28: StackMap locals:
StackMap stack:
iload 3
iload 6
iadd
istore 3
end local 6 end local 5 29: StackMap locals:
StackMap stack:
iload 3
iconst_4
iadd
iload 4
if_icmplt 3
30: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
0 31 1 cen [B
0 31 2 cenpos I
1 31 3 off I
2 31 4 end I
4 29 5 tag I
5 29 6 sz I
MethodParameters:
Name Flags
cen
cenpos
private long initDataOffset();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
lconst_0
lcmp
ifgt 9
1: bipush 30
newarray 8
astore 1
start local 1 2: aload 0
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
lneg
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
3: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
getfield java.util.zip.ZipFile.res:Ljava/util/zip/ZipFile$CleanableResource;
getfield java.util.zip.ZipFile$CleanableResource.zsrc:Ljava/util/zip/ZipFile$Source;
aload 1
iconst_0
aload 1
arraylength
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
istore 2
start local 2 4: iload 2
bipush 30
if_icmpeq 6
5: new java.util.zip.ZipException
dup
ldc "ZipFile error reading zip file"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: byte[] int
StackMap stack:
aload 1
invokestatic java.util.zip.ZipUtils.LOCSIG:([B)J
ldc 67324752
lcmp
ifeq 8
7: new java.util.zip.ZipException
dup
ldc "ZipFile invalid LOC header (bad signature)"
invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
bipush 30
aload 1
invokestatic java.util.zip.ZipUtils.LOCNAM:([B)I
iadd
aload 1
invokestatic java.util.zip.ZipUtils.LOCEXT:([B)I
iadd
i2l
ladd
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
end local 2 end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
2 9 1 loc [B
4 9 2 len I
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
dup
astore 4
monitorenter
1: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
invokevirtual java.util.zip.ZipFile.ensureOpenOrZipException:()V
2: aload 0
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.initDataOffset:()J
pop2
3: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lconst_0
lcmp
ifne 6
4: aload 4
monitorexit
5: iconst_m1
ireturn
6: StackMap locals: java.util.zip.ZipFile
StackMap stack:
iload 3
i2l
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lcmp
ifle 8
7: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
l2i
istore 3
8: StackMap locals:
StackMap stack:
iload 3
ifgt 11
9: aload 4
monitorexit
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
getfield java.util.zip.ZipFile.res:Ljava/util/zip/ZipFile$CleanableResource;
getfield java.util.zip.ZipFile$CleanableResource.zsrc:Ljava/util/zip/ZipFile$Source;
aload 1
iload 2
iload 3
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
invokevirtual java.util.zip.ZipFile$Source.readAt:([BIIJ)I
istore 3
12: iload 3
ifle 15
13: aload 0
dup
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
iload 3
i2l
ladd
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
14: aload 0
dup
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
iload 3
i2l
lsub
putfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
15: StackMap locals:
StackMap stack:
aload 4
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 4
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lconst_0
lcmp
ifne 21
20: aload 0
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.close:()V
21: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
0 22 1 b [B
0 22 2 off I
0 22 3 len I
Exception table:
from to target type
1 5 17 any
6 10 17 any
11 16 17 any
17 18 17 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_1
newarray 8
astore 1
start local 1 1: aload 0
aload 1
iconst_0
iconst_1
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.read:([BII)I
iconst_1
if_icmpne 3
2: aload 1
iconst_0
baload
sipush 255
iand
ireturn
3: StackMap locals: byte[]
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
1 4 1 b [B
Exceptions:
throws java.io.IOException
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
dup
astore 3
monitorenter
1: aload 0
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.initDataOffset:()J
pop2
2: lload 1
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lcmp
ifle 4
3: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lstore 1
4: StackMap locals: java.util.zip.ZipFile
StackMap stack:
aload 0
dup
getfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
lload 1
ladd
putfield java.util.zip.ZipFile$ZipFileInputStream.pos:J
5: aload 0
dup
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lload 1
lsub
putfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
6: aload 3
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
lconst_0
lcmp
ifne 12
11: aload 0
invokevirtual java.util.zip.ZipFile$ZipFileInputStream.close:()V
12: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
0 13 1 n J
Exception table:
from to target type
1 7 8 any
8 9 8 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
ldc 2147483647
lcmp
ifle 1
ldc 2147483647
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
l2i
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.size:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.closeRequested:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.util.zip.ZipFile$ZipFileInputStream.closeRequested:Z
3: aload 0
lconst_0
putfield java.util.zip.ZipFile$ZipFileInputStream.rem:J
4: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
getfield java.util.zip.ZipFile.res:Ljava/util/zip/ZipFile$CleanableResource;
getfield java.util.zip.ZipFile$CleanableResource.istreams:Ljava/util/Set;
dup
astore 1
monitorenter
5: aload 0
getfield java.util.zip.ZipFile$ZipFileInputStream.this$0:Ljava/util/zip/ZipFile;
getfield java.util.zip.ZipFile.res:Ljava/util/zip/ZipFile$CleanableResource;
getfield java.util.zip.ZipFile$CleanableResource.istreams:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
6: aload 1
monitorexit
7: goto 10
StackMap locals: java.util.zip.ZipFile$ZipFileInputStream java.util.Set
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/zip/ZipFile$ZipFileInputStream;
Exception table:
from to target type
5 7 8 any
8 9 8 any
}
SourceFile: "ZipFile.java"
NestHost: java.util.zip.ZipFile
InnerClasses:
private CleanableResource = java.util.zip.ZipFile$CleanableResource of java.util.zip.ZipFile
private Source = java.util.zip.ZipFile$Source of java.util.zip.ZipFile
private ZipFileInputStream = java.util.zip.ZipFile$ZipFileInputStream of java.util.zip.ZipFile