public abstract class java.io.InputStream implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.io.InputStream
super_class: java.lang.Object
{
private static final int MAX_SKIP_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private static final int DEFAULT_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int MAX_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483639
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 61
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
public static java.io.InputStream nullInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 86
new java.io.InputStream$1
dup
invokespecial java.io.InputStream$1.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public abstract int read();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public int read(byte[]);
descriptor: ([B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.io.InputStream this
start local 1 // byte[] b
0: .line 218
aload 0 /* this */
aload 1 /* b */
iconst_0
aload 1 /* b */
arraylength
invokevirtual java.io.InputStream.read:([BII)I
ireturn
end local 1 // byte[] b
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
0 1 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 // java.io.InputStream this
start local 1 // byte[] b
start local 2 // int off
start local 3 // int len
0: .line 279
iload 2 /* off */
iload 3 /* len */
aload 1 /* b */
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: .line 280
iload 3 /* len */
ifne 3
2: .line 281
iconst_0
ireturn
3: .line 284
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
istore 4 /* c */
start local 4 // int c
4: .line 285
iload 4 /* c */
iconst_m1
if_icmpne 6
5: .line 286
iconst_m1
ireturn
6: .line 288
StackMap locals: int
StackMap stack:
aload 1 /* b */
iload 2 /* off */
iload 4 /* c */
i2b
bastore
7: .line 290
iconst_1
istore 5 /* i */
start local 5 // int i
8: .line 292
goto 14
9: .line 293
StackMap locals: int
StackMap stack:
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
istore 4 /* c */
10: .line 294
iload 4 /* c */
iconst_m1
if_icmpne 12
11: .line 295
goto 17
12: .line 297
StackMap locals:
StackMap stack:
aload 1 /* b */
iload 2 /* off */
iload 5 /* i */
iadd
iload 4 /* c */
i2b
bastore
13: .line 292
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 5 /* i */
iload 3 /* len */
if_icmplt 9
15: .line 299
goto 17
StackMap locals:
StackMap stack: java.io.IOException
16: pop
17: .line 301
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
end local 5 // int i
end local 4 // int c
end local 3 // int len
end local 2 // int off
end local 1 // byte[] b
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/io/InputStream;
0 18 1 b [B
0 18 2 off I
0 18 3 len I
4 18 4 c I
8 18 5 i I
Exception table:
from to target type
8 15 16 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public byte[] readAllBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 346
aload 0 /* this */
ldc 2147483647
invokevirtual java.io.InputStream.readNBytes:(I)[B
areturn
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
public byte[] readNBytes(int);
descriptor: (I)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 // java.io.InputStream this
start local 1 // int len
0: .line 395
iload 1 /* len */
ifge 2
1: .line 396
new java.lang.IllegalArgumentException
dup
ldc "len < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 399
StackMap locals:
StackMap stack:
aconst_null
astore 2 /* bufs */
start local 2 // java.util.List bufs
3: .line 400
aconst_null
astore 3 /* result */
start local 3 // byte[] result
4: .line 401
iconst_0
istore 4 /* total */
start local 4 // int total
5: .line 402
iload 1 /* len */
istore 5 /* remaining */
start local 5 // int remaining
6: .line 405
StackMap locals: java.io.InputStream int java.util.List byte[] int int
StackMap stack:
iload 5 /* remaining */
sipush 8192
invokestatic java.lang.Math.min:(II)I
newarray 8
astore 7 /* buf */
start local 7 // byte[] buf
7: .line 406
iconst_0
istore 8 /* nread */
start local 8 // int nread
8: .line 409
goto 11
start local 6 // int n
9: .line 411
StackMap locals: int byte[] int
StackMap stack:
iload 8 /* nread */
iload 6 /* n */
iadd
istore 8 /* nread */
10: .line 412
iload 5 /* remaining */
iload 6 /* n */
isub
istore 5 /* remaining */
end local 6 // int n
11: .line 409
StackMap locals: java.io.InputStream int java.util.List byte[] int int top byte[] int
StackMap stack:
aload 0 /* this */
aload 7 /* buf */
iload 8 /* nread */
12: .line 410
aload 7 /* buf */
arraylength
iload 8 /* nread */
isub
iload 5 /* remaining */
invokestatic java.lang.Math.min:(II)I
13: .line 409
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 6 /* n */
start local 6 // int n
14: ifgt 9
15: .line 415
iload 8 /* nread */
ifle 28
16: .line 416
ldc 2147483639
iload 4 /* total */
isub
iload 8 /* nread */
if_icmpge 18
17: .line 417
new java.lang.OutOfMemoryError
dup
ldc "Required array size too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
18: .line 419
StackMap locals: java.io.InputStream int java.util.List byte[] int int int byte[] int
StackMap stack:
iload 8 /* nread */
aload 7 /* buf */
arraylength
if_icmpge 20
19: .line 420
aload 7 /* buf */
iconst_0
iload 8 /* nread */
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 7 /* buf */
20: .line 422
StackMap locals:
StackMap stack:
iload 4 /* total */
iload 8 /* nread */
iadd
istore 4 /* total */
21: .line 423
aload 3 /* result */
ifnonnull 24
22: .line 424
aload 7 /* buf */
astore 3 /* result */
23: .line 425
goto 28
24: .line 426
StackMap locals:
StackMap stack:
aload 2 /* bufs */
ifnonnull 27
25: .line 427
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2 /* bufs */
26: .line 428
aload 2 /* bufs */
aload 3 /* result */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: .line 430
StackMap locals:
StackMap stack:
aload 2 /* bufs */
aload 7 /* buf */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 // int nread
end local 7 // byte[] buf
28: .line 435
StackMap locals:
StackMap stack:
iload 6 /* n */
iflt 30
iload 5 /* remaining */
29: .line 404
ifgt 6
30: .line 437
StackMap locals:
StackMap stack:
aload 2 /* bufs */
ifnonnull 37
31: .line 438
aload 3 /* result */
ifnonnull 33
32: .line 439
iconst_0
newarray 8
areturn
33: .line 441
StackMap locals:
StackMap stack:
aload 3 /* result */
arraylength
iload 4 /* total */
if_icmpne 35
34: .line 442
aload 3 /* result */
goto 36
StackMap locals:
StackMap stack:
35: aload 3 /* result */
iload 4 /* total */
invokestatic java.util.Arrays.copyOf:([BI)[B
36: .line 441
StackMap locals:
StackMap stack: byte[]
areturn
37: .line 445
StackMap locals:
StackMap stack:
iload 4 /* total */
newarray 8
astore 3 /* result */
38: .line 446
iconst_0
istore 7 /* offset */
start local 7 // int offset
39: .line 447
iload 4 /* total */
istore 5 /* remaining */
40: .line 448
aload 2 /* bufs */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 46
StackMap locals: java.io.InputStream int java.util.List byte[] int int int int top java.util.Iterator
StackMap stack:
41: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 8 /* b */
start local 8 // byte[] b
42: .line 449
aload 8 /* b */
arraylength
iload 5 /* remaining */
invokestatic java.lang.Math.min:(II)I
istore 10 /* count */
start local 10 // int count
43: .line 450
aload 8 /* b */
iconst_0
aload 3 /* result */
iload 7 /* offset */
iload 10 /* count */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
44: .line 451
iload 7 /* offset */
iload 10 /* count */
iadd
istore 7 /* offset */
45: .line 452
iload 5 /* remaining */
iload 10 /* count */
isub
istore 5 /* remaining */
end local 10 // int count
end local 8 // byte[] b
46: .line 448
StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
47: .line 455
aload 3 /* result */
areturn
end local 7 // int offset
end local 6 // int n
end local 5 // int remaining
end local 4 // int total
end local 3 // byte[] result
end local 2 // java.util.List bufs
end local 1 // int len
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Ljava/io/InputStream;
0 48 1 len I
3 48 2 bufs Ljava/util/List<[B>;
4 48 3 result [B
5 48 4 total I
6 48 5 remaining I
9 11 6 n I
14 48 6 n I
7 28 7 buf [B
8 28 8 nread I
39 48 7 offset I
42 46 8 b [B
43 46 10 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
public int readNBytes(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 // java.io.InputStream this
start local 1 // byte[] b
start local 2 // int off
start local 3 // int len
0: .line 502
iload 2 /* off */
iload 3 /* len */
aload 1 /* b */
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: .line 504
iconst_0
istore 4 /* n */
start local 4 // int n
2: .line 505
goto 7
3: .line 506
StackMap locals: int
StackMap stack:
aload 0 /* this */
aload 1 /* b */
iload 2 /* off */
iload 4 /* n */
iadd
iload 3 /* len */
iload 4 /* n */
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 5 /* count */
start local 5 // int count
4: .line 507
iload 5 /* count */
ifge 6
5: .line 508
goto 8
6: .line 509
StackMap locals: int
StackMap stack:
iload 4 /* n */
iload 5 /* count */
iadd
istore 4 /* n */
end local 5 // int count
7: .line 505
StackMap locals:
StackMap stack:
iload 4 /* n */
iload 3 /* len */
if_icmplt 3
8: .line 511
StackMap locals:
StackMap stack:
iload 4 /* n */
ireturn
end local 4 // int n
end local 3 // int len
end local 2 // int off
end local 1 // byte[] b
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/InputStream;
0 9 1 b [B
0 9 2 off I
0 9 3 len I
2 9 4 n I
4 7 5 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 // java.io.InputStream this
start local 1 // long n
0: .line 537
lload 1 /* n */
lstore 3 /* remaining */
start local 3 // long remaining
1: .line 540
lload 1 /* n */
lconst_0
lcmp
ifgt 3
2: .line 541
lconst_0
lreturn
3: .line 544
StackMap locals: long
StackMap stack:
ldc 2048
lload 3 /* remaining */
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 6 /* size */
start local 6 // int size
4: .line 545
iload 6 /* size */
newarray 8
astore 7 /* skipBuffer */
start local 7 // byte[] skipBuffer
5: .line 546
goto 10
6: .line 547
StackMap locals: java.io.InputStream long long top int byte[]
StackMap stack:
aload 0 /* this */
aload 7 /* skipBuffer */
iconst_0
iload 6 /* size */
i2l
lload 3 /* remaining */
invokestatic java.lang.Math.min:(JJ)J
l2i
invokevirtual java.io.InputStream.read:([BII)I
istore 5 /* nr */
start local 5 // int nr
7: .line 548
iload 5 /* nr */
ifge 9
8: .line 549
goto 11
9: .line 551
StackMap locals: java.io.InputStream long long int int byte[]
StackMap stack:
lload 3 /* remaining */
iload 5 /* nr */
i2l
lsub
lstore 3 /* remaining */
end local 5 // int nr
10: .line 546
StackMap locals: java.io.InputStream long long top int byte[]
StackMap stack:
lload 3 /* remaining */
lconst_0
lcmp
ifgt 6
11: .line 554
StackMap locals:
StackMap stack:
lload 1 /* n */
lload 3 /* remaining */
lsub
lreturn
end local 7 // byte[] skipBuffer
end local 6 // int size
end local 3 // long remaining
end local 1 // long n
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/InputStream;
0 12 1 n J
1 12 3 remaining J
7 10 5 nr I
4 12 6 size I
5 12 7 skipBuffer [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public void skipNBytes(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // java.io.InputStream this
start local 1 // long n
0: .line 601
goto 11
1: .line 602
StackMap locals:
StackMap stack:
aload 0 /* this */
lload 1 /* n */
invokevirtual java.io.InputStream.skip:(J)J
lstore 3 /* ns */
start local 3 // long ns
2: .line 603
lload 3 /* ns */
lconst_0
lcmp
ifle 5
lload 3 /* ns */
lload 1 /* n */
lcmp
ifgt 5
3: .line 605
lload 1 /* n */
lload 3 /* ns */
lsub
lstore 1 /* n */
4: .line 606
goto 11
StackMap locals: long
StackMap stack:
5: lload 3 /* ns */
lconst_0
lcmp
ifne 10
6: .line 608
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
iconst_m1
if_icmpne 8
7: .line 609
new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
8: .line 612
StackMap locals:
StackMap stack:
lload 1 /* n */
lconst_1
lsub
lstore 1 /* n */
9: .line 613
goto 11
10: .line 614
StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Unable to skip exactly"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // long ns
11: .line 601
StackMap locals:
StackMap stack:
lload 1 /* n */
lconst_0
lcmp
ifgt 1
12: .line 617
return
end local 1 // long n
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/io/InputStream;
0 13 1 n J
2 11 3 ns J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 646
iconst_0
ireturn
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 658
return
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
public synchronized void mark(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=0, locals=2, args_size=2
start local 0 // java.io.InputStream this
start local 1 // int readlimit
0: .line 686
return
end local 1 // int readlimit
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
0 1 1 readlimit I
MethodParameters:
Name Flags
readlimit
public synchronized void reset();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 733
new java.io.IOException
dup
ldc "mark/reset not supported"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.io.InputStream this
0: .line 749
iconst_0
ireturn
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/io/InputStream;
public long transferTo(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // java.io.InputStream this
start local 1 // java.io.OutputStream out
0: .line 778
aload 1 /* out */
ldc "out"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: .line 779
lconst_0
lstore 2 /* transferred */
start local 2 // long transferred
2: .line 780
sipush 8192
newarray 8
astore 4 /* buffer */
start local 4 // byte[] buffer
3: .line 782
goto 6
start local 5 // int read
4: .line 783
StackMap locals: long byte[] int
StackMap stack:
aload 1 /* out */
aload 4 /* buffer */
iconst_0
iload 5 /* read */
invokevirtual java.io.OutputStream.write:([BII)V
5: .line 784
lload 2 /* transferred */
iload 5 /* read */
i2l
ladd
lstore 2 /* transferred */
end local 5 // int read
6: .line 782
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 4 /* buffer */
iconst_0
sipush 8192
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 5 /* read */
start local 5 // int read
7: ifge 4
8: .line 786
lload 2 /* transferred */
lreturn
end local 5 // int read
end local 4 // byte[] buffer
end local 2 // long transferred
end local 1 // java.io.OutputStream out
end local 0 // java.io.InputStream this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/io/InputStream;
0 9 1 out Ljava/io/OutputStream;
2 9 2 transferred J
3 9 4 buffer [B
4 6 5 read I
7 9 5 read I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
}
SourceFile: "InputStream.java"
NestMembers:
java.io.InputStream$1
InnerClasses:
java.io.InputStream$1