public class org.hsqldb.lib.FileArchiver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.lib.FileArchiver
super_class: java.lang.Object
{
public static final int COMPRESSION_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int COMPRESSION_ZIP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int COMPRESSION_GZIP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int COPY_BLOCK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/lib/FileArchiver;
public static void copyFile(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
1: iconst_0
2: invokestatic org.hsqldb.lib.FileArchiver.archive:(Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 infilename Ljava/lang/String;
0 4 1 outfilename Ljava/lang/String;
0 4 2 storage Lorg/hsqldb/lib/FileAccess;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
infilename
outfilename
storage
public static void archive(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: aload 2
aload 0
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifne 7
6: return
7: StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
StackMap stack:
ldc 65536
newarray 8
astore 9
start local 9 8: aload 2
aload 0
invokeinterface org.hsqldb.lib.FileAccess.openInputStreamElement:(Ljava/lang/String;)Ljava/io/InputStream;
astore 4
9: aload 2
aload 1
iconst_1
invokeinterface org.hsqldb.lib.FileAccess.openOutputStreamElement:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 5
10: aload 5
astore 6
11: iload 3
tableswitch { // 0 - 2
0: 18
1: 12
2: 16
default: 19
}
12: StackMap locals: byte[]
StackMap stack:
new java.util.zip.DeflaterOutputStream
dup
aload 5
13: new java.util.zip.Deflater
dup
iconst_1
invokespecial java.util.zip.Deflater.<init>:(I)V
aload 9
arraylength
14: invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/zip/Deflater;I)V
dup
astore 7
astore 5
15: goto 22
16: StackMap locals:
StackMap stack:
new java.util.zip.GZIPOutputStream
dup
aload 5
aload 9
arraylength
invokespecial java.util.zip.GZIPOutputStream.<init>:(Ljava/io/OutputStream;I)V
dup
astore 7
astore 5
17: goto 22
18: StackMap locals:
StackMap stack:
goto 22
19: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "FileArchiver"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 4
aload 9
iconst_0
aload 9
arraylength
invokevirtual java.io.InputStream.read:([BII)I
istore 10
start local 10 23: iload 10
iconst_m1
if_icmpne 25
24: goto 27
25: StackMap locals: int
StackMap stack:
aload 5
aload 9
iconst_0
iload 10
invokevirtual java.io.OutputStream.write:([BII)V
end local 10 26: goto 22
27: StackMap locals:
StackMap stack:
iconst_1
istore 8
end local 9 28: goto 46
StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
StackMap stack: java.lang.Throwable
29: astore 9
start local 9 30: aload 9
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 9 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
32: aload 4
ifnull 34
33: aload 4
invokevirtual java.io.InputStream.close:()V
34: StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int top top java.lang.Throwable
StackMap stack:
aload 5
ifnull 40
35: aload 7
ifnull 37
36: aload 7
invokevirtual java.util.zip.DeflaterOutputStream.finish:()V
37: StackMap locals:
StackMap stack:
aload 6
instanceof java.io.FileOutputStream
ifeq 39
38: aload 2
aload 6
invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
39: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.OutputStream.close:()V
40: StackMap locals:
StackMap stack:
iload 8
ifne 45
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifeq 45
41: aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
42: goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 12
start local 12 44: aload 12
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 12 45: StackMap locals:
StackMap stack:
aload 11
athrow
46: StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
StackMap stack:
aload 4
ifnull 48
47: aload 4
invokevirtual java.io.InputStream.close:()V
48: StackMap locals:
StackMap stack:
aload 5
ifnull 54
49: aload 7
ifnull 51
50: aload 7
invokevirtual java.util.zip.DeflaterOutputStream.finish:()V
51: StackMap locals:
StackMap stack:
aload 6
instanceof java.io.FileOutputStream
ifeq 53
52: aload 2
aload 6
invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
53: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.OutputStream.close:()V
54: StackMap locals:
StackMap stack:
iload 8
ifne 59
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifeq 59
55: aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
56: goto 59
StackMap locals:
StackMap stack: java.lang.Throwable
57: astore 12
start local 12 58: aload 12
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 12 59: StackMap locals:
StackMap stack:
return
end local 8 end local 7 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 60 0 infilename Ljava/lang/String;
0 60 1 outfilename Ljava/lang/String;
0 60 2 storage Lorg/hsqldb/lib/FileAccess;
0 60 3 compressionType I
1 60 4 in Ljava/io/InputStream;
2 60 5 f Ljava/io/OutputStream;
3 60 6 fOut Ljava/io/OutputStream;
4 60 7 deflater Ljava/util/zip/DeflaterOutputStream;
5 60 8 completed Z
8 28 9 b [B
23 26 10 l I
30 31 9 e Ljava/lang/Throwable;
44 45 12 e Ljava/lang/Throwable;
58 59 12 e Ljava/lang/Throwable;
Exception table:
from to target type
7 28 29 Class java.lang.Throwable
7 31 31 any
32 42 43 Class java.lang.Throwable
46 56 57 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
infilename
outfilename
storage
compressionType
public static void unarchive(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 2
aload 0
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifne 17
4: aload 4
ifnull 6
5: aload 4
invokevirtual java.io.InputStream.close:()V
6: StackMap locals: java.io.InputStream java.io.OutputStream int
StackMap stack:
aload 5
ifnull 11
7: aload 5
invokevirtual java.io.OutputStream.flush:()V
8: aload 5
instanceof java.io.FileOutputStream
ifeq 10
9: aload 2
aload 5
invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.OutputStream.close:()V
11: StackMap locals:
StackMap stack:
iload 6
ifne 16
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifeq 16
12: aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 10
start local 10 15: aload 10
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 10 16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
18: ldc 65536
newarray 8
astore 7
start local 7 19: aload 2
aload 0
invokeinterface org.hsqldb.lib.FileAccess.openInputStreamElement:(Ljava/lang/String;)Ljava/io/InputStream;
astore 4
20: iload 3
tableswitch { // 0 - 2
0: 25
1: 21
2: 23
default: 26
}
21: StackMap locals: byte[]
StackMap stack:
new java.util.zip.InflaterInputStream
dup
aload 4
new java.util.zip.Inflater
dup
invokespecial java.util.zip.Inflater.<init>:()V
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
astore 4
22: goto 29
23: StackMap locals:
StackMap stack:
new java.util.zip.GZIPInputStream
dup
aload 4
aload 7
arraylength
invokespecial java.util.zip.GZIPInputStream.<init>:(Ljava/io/InputStream;I)V
astore 4
24: goto 29
25: StackMap locals:
StackMap stack:
goto 29
26: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "FileArchiver: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 2
aload 1
iconst_0
invokeinterface org.hsqldb.lib.FileAccess.openOutputStreamElement:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 5
30: StackMap locals:
StackMap stack:
aload 4
aload 7
iconst_0
aload 7
arraylength
invokevirtual java.io.InputStream.read:([BII)I
istore 8
start local 8 31: iload 8
iconst_m1
if_icmpne 33
32: goto 35
33: StackMap locals: int
StackMap stack:
aload 5
aload 7
iconst_0
iload 8
invokevirtual java.io.OutputStream.write:([BII)V
end local 8 34: goto 30
35: StackMap locals:
StackMap stack:
iconst_1
istore 6
end local 7 36: goto 53
StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int
StackMap stack: java.lang.Throwable
37: astore 7
start local 7 38: aload 7
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 7 39: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
40: aload 4
ifnull 42
41: aload 4
invokevirtual java.io.InputStream.close:()V
42: StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int top top java.lang.Throwable
StackMap stack:
aload 5
ifnull 47
43: aload 5
invokevirtual java.io.OutputStream.flush:()V
44: aload 5
instanceof java.io.FileOutputStream
ifeq 46
45: aload 2
aload 5
invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
46: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.OutputStream.close:()V
47: StackMap locals:
StackMap stack:
iload 6
ifne 52
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifeq 52
48: aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
49: goto 52
StackMap locals:
StackMap stack: java.lang.Throwable
50: astore 10
start local 10 51: aload 10
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 10 52: StackMap locals:
StackMap stack:
aload 9
athrow
53: StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int
StackMap stack:
aload 4
ifnull 55
54: aload 4
invokevirtual java.io.InputStream.close:()V
55: StackMap locals:
StackMap stack:
aload 5
ifnull 60
56: aload 5
invokevirtual java.io.OutputStream.flush:()V
57: aload 5
instanceof java.io.FileOutputStream
ifeq 59
58: aload 2
aload 5
invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
59: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.OutputStream.close:()V
60: StackMap locals:
StackMap stack:
iload 6
ifne 65
aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
ifeq 65
61: aload 2
aload 1
invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
62: goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
63: astore 10
start local 10 64: aload 10
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 10 65: StackMap locals:
StackMap stack:
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 66 0 infilename Ljava/lang/String;
0 66 1 outfilename Ljava/lang/String;
0 66 2 storage Lorg/hsqldb/lib/FileAccess;
0 66 3 compressionType I
1 66 4 f Ljava/io/InputStream;
2 66 5 outstream Ljava/io/OutputStream;
3 66 6 completed Z
19 36 7 b [B
31 34 8 l I
38 39 7 e Ljava/lang/Throwable;
15 16 10 e Ljava/lang/Throwable;
51 52 10 e Ljava/lang/Throwable;
64 65 10 e Ljava/lang/Throwable;
Exception table:
from to target type
4 13 14 Class java.lang.Throwable
3 4 37 Class java.lang.Throwable
17 36 37 Class java.lang.Throwable
3 4 39 any
17 39 39 any
40 49 50 Class java.lang.Throwable
53 62 63 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
infilename
outfilename
storage
compressionType
}
SourceFile: "FileArchiver.java"
InnerClasses:
public abstract FileSync = org.hsqldb.lib.FileAccess$FileSync of org.hsqldb.lib.FileAccess