27 return 0 after EOF has reached and 1 otherwise.
28 */
29
30
31 import java.io.*;
32 import java.util.zip.*;
33
34 public class Available {
35
36 public static void main(String[] args) throws Exception {
37 // 4028605 4109069 4234207
38 test1();
39 // test 4401122
40 test2();
41 }
42
43 private static void test1() throws Exception {
44 File f = new File(System.getProperty("test.src", "."), "input.jar");
45
46 // test ZipInputStream
47 ZipInputStream z = new ZipInputStream(new FileInputStream(f));
48 z.getNextEntry();
49 tryAvail(z);
50
51 // test InflaterInputStream
52 ZipFile zfile = new ZipFile(f);
53 tryAvail(zfile.getInputStream(zfile.getEntry("Available.java")));
54 z.close();
55 }
56
57 static void tryAvail(InputStream in) throws Exception {
58 byte[] buf = new byte[1024];
59 int n;
60
61 while ((n = in.read(buf)) != -1);
62 if (in.available() != 0) {
63 throw new Exception("available should return 0 after EOF");
64 }
65 }
66
67 // To reproduce 4401122
68 private static void test2() throws Exception {
69 File f = new File(System.getProperty("test.src", "."), "input.jar");
70 ZipFile zf = new ZipFile(f);
71 InputStream in = zf.getInputStream(zf.getEntry("Available.java"));
72
73 int initialAvailable = in.available();
74 in.read();
|
27 return 0 after EOF has reached and 1 otherwise.
28 */
29
30
31 import java.io.*;
32 import java.util.zip.*;
33
34 public class Available {
35
36 public static void main(String[] args) throws Exception {
37 // 4028605 4109069 4234207
38 test1();
39 // test 4401122
40 test2();
41 }
42
43 private static void test1() throws Exception {
44 File f = new File(System.getProperty("test.src", "."), "input.jar");
45
46 // test ZipInputStream
47 try (ZipInputStream z = new ZipInputStream(new FileInputStream(f))) {
48 z.getNextEntry();
49 tryAvail(z);
50 }
51
52 // test InflaterInputStream
53 ZipFile zfile = new ZipFile(f);
54 tryAvail(zfile.getInputStream(zfile.getEntry("Available.java")));
55 }
56
57 static void tryAvail(InputStream in) throws Exception {
58 byte[] buf = new byte[1024];
59 int n;
60
61 while ((n = in.read(buf)) != -1);
62 if (in.available() != 0) {
63 throw new Exception("available should return 0 after EOF");
64 }
65 }
66
67 // To reproduce 4401122
68 private static void test2() throws Exception {
69 File f = new File(System.getProperty("test.src", "."), "input.jar");
70 ZipFile zf = new ZipFile(f);
71 InputStream in = zf.getInputStream(zf.getEntry("Available.java"));
72
73 int initialAvailable = in.available();
74 in.read();
|