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 50
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 81
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 213
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 274
iload 2 /* off */
iload 3 /* len */
aload 1 /* b */
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: .line 275
iload 3 /* len */
ifne 3
2: .line 276
iconst_0
ireturn
3: .line 279
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
istore 4 /* c */
start local 4 // int c
4: .line 280
iload 4 /* c */
iconst_m1
if_icmpne 6
5: .line 281
iconst_m1
ireturn
6: .line 283
StackMap locals: int
StackMap stack:
aload 1 /* b */
iload 2 /* off */
iload 4 /* c */
i2b
bastore
7: .line 285
iconst_1
istore 5 /* i */
start local 5 // int i
8: .line 287
goto 14
9: .line 288
StackMap locals: int
StackMap stack:
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
istore 4 /* c */
10: .line 289
iload 4 /* c */
iconst_m1
if_icmpne 12
11: .line 290
goto 17
12: .line 292
StackMap locals:
StackMap stack:
aload 1 /* b */
iload 2 /* off */
iload 5 /* i */
iadd
iload 4 /* c */
i2b
bastore
13: .line 287
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 5 /* i */
iload 3 /* len */
if_icmplt 9
15: .line 294
goto 17
StackMap locals:
StackMap stack: java.io.IOException
16: pop
17: .line 296
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 341
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 390
iload 1 /* len */
ifge 2
1: .line 391
new java.lang.IllegalArgumentException
dup
ldc "len < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 394
StackMap locals:
StackMap stack:
aconst_null
astore 2 /* bufs */
start local 2 // java.util.List bufs
3: .line 395
aconst_null
astore 3 /* result */
start local 3 // byte[] result
4: .line 396
iconst_0
istore 4 /* total */
start local 4 // int total
5: .line 397
iload 1 /* len */
istore 5 /* remaining */
start local 5 // int remaining
6: .line 400
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 401
iconst_0
istore 8 /* nread */
start local 8 // int nread
8: .line 404
goto 11
start local 6 // int n
9: .line 406
StackMap locals: int byte[] int
StackMap stack:
iload 8 /* nread */
iload 6 /* n */
iadd
istore 8 /* nread */
10: .line 407
iload 5 /* remaining */
iload 6 /* n */
isub
istore 5 /* remaining */
end local 6 // int n
11: .line 404
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 405
aload 7 /* buf */
arraylength
iload 8 /* nread */
isub
iload 5 /* remaining */
invokestatic java.lang.Math.min:(II)I
13: .line 404
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 6 /* n */
start local 6 // int n
14: ifgt 9
15: .line 410
iload 8 /* nread */
ifle 26
16: .line 411
ldc 2147483639
iload 4 /* total */
isub
iload 8 /* nread */
if_icmpge 18
17: .line 412
new java.lang.OutOfMemoryError
dup
ldc "Required array size too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
18: .line 414
StackMap locals: java.io.InputStream int java.util.List byte[] int int int byte[] int
StackMap stack:
iload 4 /* total */
iload 8 /* nread */
iadd
istore 4 /* total */
19: .line 415
aload 3 /* result */
ifnonnull 22
20: .line 416
aload 7 /* buf */
astore 3 /* result */
21: .line 417
goto 26
22: .line 418
StackMap locals:
StackMap stack:
aload 2 /* bufs */
ifnonnull 25
23: .line 419
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2 /* bufs */
24: .line 420
aload 2 /* bufs */
aload 3 /* result */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: .line 422
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
26: .line 427
StackMap locals:
StackMap stack:
iload 6 /* n */
iflt 28
iload 5 /* remaining */
27: .line 399
ifgt 6
28: .line 429
StackMap locals:
StackMap stack:
aload 2 /* bufs */
ifnonnull 35
29: .line 430
aload 3 /* result */
ifnonnull 31
30: .line 431
iconst_0
newarray 8
areturn
31: .line 433
StackMap locals:
StackMap stack:
aload 3 /* result */
arraylength
iload 4 /* total */
if_icmpne 33
32: .line 434
aload 3 /* result */
goto 34
StackMap locals:
StackMap stack:
33: aload 3 /* result */
iload 4 /* total */
invokestatic java.util.Arrays.copyOf:([BI)[B
34: .line 433
StackMap locals:
StackMap stack: byte[]
areturn
35: .line 437
StackMap locals:
StackMap stack:
iload 4 /* total */
newarray 8
astore 3 /* result */
36: .line 438
iconst_0
istore 7 /* offset */
start local 7 // int offset
37: .line 439
iload 4 /* total */
istore 5 /* remaining */
38: .line 440
aload 2 /* bufs */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 44
StackMap locals: java.io.InputStream int java.util.List byte[] int int int int top java.util.Iterator
StackMap stack:
39: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 8 /* b */
start local 8 // byte[] b
40: .line 441
aload 8 /* b */
arraylength
iload 5 /* remaining */
invokestatic java.lang.Math.min:(II)I
istore 10 /* count */
start local 10 // int count
41: .line 442
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
42: .line 443
iload 7 /* offset */
iload 10 /* count */
iadd
istore 7 /* offset */
43: .line 444
iload 5 /* remaining */
iload 10 /* count */
isub
istore 5 /* remaining */
end local 10 // int count
end local 8 // byte[] b
44: .line 440
StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
45: .line 447
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 46 0 this Ljava/io/InputStream;
0 46 1 len I
3 46 2 bufs Ljava/util/List<[B>;
4 46 3 result [B
5 46 4 total I
6 46 5 remaining I
9 11 6 n I
14 46 6 n I
7 26 7 buf [B
8 26 8 nread I
37 46 7 offset I
40 44 8 b [B
41 44 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 494
iload 2 /* off */
iload 3 /* len */
aload 1 /* b */
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: .line 496
iconst_0
istore 4 /* n */
start local 4 // int n
2: .line 497
goto 7
3: .line 498
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 499
iload 5 /* count */
ifge 6
5: .line 500
goto 8
6: .line 501
StackMap locals: int
StackMap stack:
iload 4 /* n */
iload 5 /* count */
iadd
istore 4 /* n */
end local 5 // int count
7: .line 497
StackMap locals:
StackMap stack:
iload 4 /* n */
iload 3 /* len */
if_icmplt 3
8: .line 503
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 529
lload 1 /* n */
lstore 3 /* remaining */
start local 3 // long remaining
1: .line 532
lload 1 /* n */
lconst_0
lcmp
ifgt 3
2: .line 533
lconst_0
lreturn
3: .line 536
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 537
iload 6 /* size */
newarray 8
astore 7 /* skipBuffer */
start local 7 // byte[] skipBuffer
5: .line 538
goto 10
6: .line 539
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 540
iload 5 /* nr */
ifge 9
8: .line 541
goto 11
9: .line 543
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 538
StackMap locals: java.io.InputStream long long top int byte[]
StackMap stack:
lload 3 /* remaining */
lconst_0
lcmp
ifgt 6
11: .line 546
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 589
lload 1 /* n */
lconst_0
lcmp
ifle 11
1: .line 590
aload 0 /* this */
lload 1 /* n */
invokevirtual java.io.InputStream.skip:(J)J
lstore 3 /* ns */
start local 3 // long ns
2: .line 591
lload 3 /* ns */
lconst_0
lcmp
iflt 9
lload 3 /* ns */
lload 1 /* n */
lcmp
ifge 9
3: .line 593
lload 1 /* n */
lload 3 /* ns */
lsub
lstore 1 /* n */
4: .line 595
goto 6
5: .line 596
StackMap locals: long
StackMap stack:
lload 1 /* n */
lconst_1
lsub
lstore 1 /* n */
6: .line 595
StackMap locals:
StackMap stack:
lload 1 /* n */
lconst_0
lcmp
ifle 7
aload 0 /* this */
invokevirtual java.io.InputStream.read:()I
iconst_m1
if_icmpne 5
7: .line 599
StackMap locals:
StackMap stack:
lload 1 /* n */
lconst_0
lcmp
ifeq 11
8: .line 600
new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
9: .line 602
StackMap locals:
StackMap stack:
lload 3 /* ns */
lload 1 /* n */
lcmp
ifeq 11
10: .line 603
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 606
StackMap locals:
StackMap stack:
return
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
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 635
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 647
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 675
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 722
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 738
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 767
aload 1 /* out */
ldc "out"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: .line 768
lconst_0
lstore 2 /* transferred */
start local 2 // long transferred
2: .line 769
sipush 8192
newarray 8
astore 4 /* buffer */
start local 4 // byte[] buffer
3: .line 771
goto 6
start local 5 // int read
4: .line 772
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 773
lload 2 /* transferred */
iload 5 /* read */
i2l
ladd
lstore 2 /* transferred */
end local 5 // int read
6: .line 771
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 775
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