public class java.io.BufferedWriter extends java.io.Writer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.io.BufferedWriter
super_class: java.io.Writer
{
private java.io.Writer out;
descriptor: Ljava/io/Writer;
flags: (0x0002) ACC_PRIVATE
private char[] cb;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private int nChars;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nextChar;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static int defaultCharBufferSize;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: sipush 8192
putstatic java.io.BufferedWriter.defaultCharBufferSize:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.Writer);
descriptor: (Ljava/io/Writer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.io.BufferedWriter.defaultCharBufferSize:I
invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/BufferedWriter;
0 2 1 out Ljava/io/Writer;
MethodParameters:
Name Flags
out
public void <init>(java.io.Writer, int);
descriptor: (Ljava/io/Writer;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.io.Writer.<init>:(Ljava/lang/Object;)V
1: iload 2
ifgt 3
2: new java.lang.IllegalArgumentException
dup
ldc "Buffer size <= 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.io.BufferedWriter java.io.Writer int
StackMap stack:
aload 0
aload 1
putfield java.io.BufferedWriter.out:Ljava/io/Writer;
4: aload 0
iload 2
newarray 5
putfield java.io.BufferedWriter.cb:[C
5: aload 0
iload 2
putfield java.io.BufferedWriter.nChars:I
6: aload 0
iconst_0
putfield java.io.BufferedWriter.nextChar:I
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/io/BufferedWriter;
0 8 1 out Ljava/io/Writer;
0 8 2 sz I
MethodParameters:
Name Flags
out
sz
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
ifnonnull 2
1: new java.io.IOException
dup
ldc "Stream closed"
invokespecial java.io.IOException.<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/io/BufferedWriter;
Exceptions:
throws java.io.IOException
void flushBuffer();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual java.io.BufferedWriter.ensureOpen:()V
2: aload 0
getfield java.io.BufferedWriter.nextChar:I
ifne 5
3: aload 1
monitorexit
4: return
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
aload 0
getfield java.io.BufferedWriter.cb:[C
iconst_0
aload 0
getfield java.io.BufferedWriter.nextChar:I
invokevirtual java.io.Writer.write:([CII)V
6: aload 0
iconst_0
putfield java.io.BufferedWriter.nextChar:I
7: aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/io/BufferedWriter;
Exception table:
from to target type
1 4 9 any
5 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual java.io.BufferedWriter.ensureOpen:()V
2: aload 0
getfield java.io.BufferedWriter.nextChar:I
aload 0
getfield java.io.BufferedWriter.nChars:I
if_icmplt 4
3: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield java.io.BufferedWriter.cb:[C
aload 0
dup
getfield java.io.BufferedWriter.nextChar:I
dup_x1
iconst_1
iadd
putfield java.io.BufferedWriter.nextChar:I
iload 1
i2c
castore
5: aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/io/BufferedWriter;
0 10 1 c I
Exception table:
from to target type
1 6 7 any
7 8 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c
private int min(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmpge 1
iload 1
ireturn
1: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/BufferedWriter;
0 2 1 a I
0 2 2 b I
MethodParameters:
Name Flags
a
b
public void write(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
invokevirtual java.io.BufferedWriter.ensureOpen:()V
2: iload 2
iflt 4
iload 2
aload 1
arraylength
if_icmpgt 4
iload 3
iflt 4
3: iload 2
iload 3
iadd
aload 1
arraylength
if_icmpgt 4
iload 2
iload 3
iadd
ifge 5
4: StackMap locals: java.lang.Object
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iload 3
ifne 8
6: aload 4
monitorexit
7: return
8: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield java.io.BufferedWriter.nChars:I
if_icmplt 13
9: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
10: aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
aload 1
iload 2
iload 3
invokevirtual java.io.Writer.write:([CII)V
11: aload 4
monitorexit
12: return
13: StackMap locals:
StackMap stack:
iload 2
istore 5
start local 5 14: iload 2
iload 3
iadd
istore 6
start local 6 15: goto 22
16: StackMap locals: int int
StackMap stack:
aload 0
aload 0
getfield java.io.BufferedWriter.nChars:I
aload 0
getfield java.io.BufferedWriter.nextChar:I
isub
iload 6
iload 5
isub
invokevirtual java.io.BufferedWriter.min:(II)I
istore 7
start local 7 17: aload 1
iload 5
aload 0
getfield java.io.BufferedWriter.cb:[C
aload 0
getfield java.io.BufferedWriter.nextChar:I
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: iload 5
iload 7
iadd
istore 5
19: aload 0
dup
getfield java.io.BufferedWriter.nextChar:I
iload 7
iadd
putfield java.io.BufferedWriter.nextChar:I
20: aload 0
getfield java.io.BufferedWriter.nextChar:I
aload 0
getfield java.io.BufferedWriter.nChars:I
if_icmplt 22
21: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
end local 7 22: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 16
end local 6 end local 5 23: aload 4
monitorexit
24: goto 27
StackMap locals: java.io.BufferedWriter char[] int int java.lang.Object
StackMap stack: java.lang.Throwable
25: aload 4
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljava/io/BufferedWriter;
0 28 1 cbuf [C
0 28 2 off I
0 28 3 len I
14 23 5 b I
15 23 6 t I
17 22 7 d I
Exception table:
from to target type
1 7 25 any
8 12 25 any
13 24 25 any
25 26 25 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
off
len
public void write(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
invokevirtual java.io.BufferedWriter.ensureOpen:()V
2: iload 2
istore 5
start local 5 3: iload 2
iload 3
iadd
istore 6
start local 6 4: goto 11
5: StackMap locals: java.lang.Object int int
StackMap stack:
aload 0
aload 0
getfield java.io.BufferedWriter.nChars:I
aload 0
getfield java.io.BufferedWriter.nextChar:I
isub
iload 6
iload 5
isub
invokevirtual java.io.BufferedWriter.min:(II)I
istore 7
start local 7 6: aload 1
iload 5
iload 5
iload 7
iadd
aload 0
getfield java.io.BufferedWriter.cb:[C
aload 0
getfield java.io.BufferedWriter.nextChar:I
invokevirtual java.lang.String.getChars:(II[CI)V
7: iload 5
iload 7
iadd
istore 5
8: aload 0
dup
getfield java.io.BufferedWriter.nextChar:I
iload 7
iadd
putfield java.io.BufferedWriter.nextChar:I
9: aload 0
getfield java.io.BufferedWriter.nextChar:I
aload 0
getfield java.io.BufferedWriter.nChars:I
if_icmplt 11
10: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
end local 7 11: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 5
end local 6 end local 5 12: aload 4
monitorexit
13: goto 16
StackMap locals: java.io.BufferedWriter java.lang.String int int java.lang.Object
StackMap stack: java.lang.Throwable
14: aload 4
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/io/BufferedWriter;
0 17 1 s Ljava/lang/String;
0 17 2 off I
0 17 3 len I
3 12 5 b I
4 12 6 t I
6 11 7 d I
Exception table:
from to target type
1 13 14 any
14 15 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
off
len
public void newLine();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/io/BufferedWriter;
Exceptions:
throws java.io.IOException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
2: aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
invokevirtual java.io.Writer.flush:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: java.io.BufferedWriter java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/io/BufferedWriter;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield java.io.BufferedWriter.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
ifnonnull 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
astore 2
aconst_null
astore 3
5: aload 0
getfield java.io.BufferedWriter.out:Ljava/io/Writer;
astore 4
start local 4 6: aload 0
invokevirtual java.io.BufferedWriter.flushBuffer:()V
7: aload 4
ifnull 17
aload 4
invokevirtual java.io.Writer.close:()V
goto 17
StackMap locals: java.io.BufferedWriter java.lang.Object java.lang.Throwable java.lang.Throwable java.io.Writer
StackMap stack: java.lang.Throwable
8: astore 2
aload 4
ifnull 9
aload 4
invokevirtual java.io.Writer.close:()V
end local 4 StackMap locals:
StackMap stack:
9: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 3
aload 2
ifnonnull 11
aload 3
astore 2
goto 12
StackMap locals:
StackMap stack:
11: aload 2
aload 3
if_acmpeq 12
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals: java.io.BufferedWriter java.lang.Object
StackMap stack: java.lang.Throwable
13: astore 5
14: aload 0
aconst_null
putfield java.io.BufferedWriter.out:Ljava/io/Writer;
15: aload 0
aconst_null
putfield java.io.BufferedWriter.cb:[C
16: aload 5
athrow
17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.io.BufferedWriter.out:Ljava/io/Writer;
18: aload 0
aconst_null
putfield java.io.BufferedWriter.cb:[C
19: aload 1
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 1
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/io/BufferedWriter;
6 9 4 w Ljava/io/Writer;
Exception table:
from to target type
6 7 8 any
5 10 10 any
4 13 13 any
1 3 21 any
4 20 21 any
21 22 21 any
Exceptions:
throws java.io.IOException
}
SourceFile: "BufferedWriter.java"