out.close(); ! ~" d* m# q$ |1 p
// Checksum valid only after the file
& u+ ~. y6 I1 D* A, j6 z# _ // has been closed!
- f: T) ]( f! R8 y System.out.println("Checksum: " + % [. H/ k5 h3 u- W; m- i, h* z
csum.getChecksum().getValue());
/ G( X8 H7 X A) O8 i% o // Now extract the files: 9 l9 c# z# L2 \. o" I4 h- [
System.out.println("Reading file");
& k7 A3 c, h$ ]" n. B2 X FileInputStream fi = 3 {+ o. a+ K3 w7 g( U: V, n0 \* s
new FileInputStream("test.zip"); 5 e( h/ U4 ^7 c- ~
CheckedInputStream csumi =
. T. D+ ]1 V9 O% S K5 P new CheckedInputStream( 3 n- `; L d" H3 i6 E; d( Q
fi, new Adler32()); ) O! L) G* b$ G4 I0 k. j3 l
ZipInputStream in2 = _# X( H: g' j* @, P4 T
new ZipInputStream( # y3 l: @7 _$ ]* S% |2 M
new BufferedInputStream(csumi)); 8 L5 k+ l7 e F* L0 y, V: o" |9 V6 [, j
ZipEntry ze; ( \0 D/ X# e+ G: Y
System.out.println("Checksum: " +
5 t' S9 r$ C1 x/ K5 W* y csumi.getChecksum().getValue());
$ u8 P. Q. v) b$ `' ], k# I& ^5 W while((ze = in2.getNextEntry()) != null) {
4 A( [* Y. o$ U' A. v1 \- T System.out.println("Reading file " + ze);
6 a- O% Y( f7 h+ G% d5 k6 H int x; |