summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Zip.java
blob: 6126656457f7dd2019c551fc7558586e3d6e72a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* Zip.java */

import java.io.*;
import java.util.zip.*;

public class Zip
{
  public static void main(String[] args)
  {
    if (args.length < 2) {
      System.out.println("Usage: java Zip zipfile files...");
      System.exit(1);
    }
    try {
      byte[] buf = new byte[4096];
      ZipOutputStream out = new ZipOutputStream(
                            new FileOutputStream(args[0]));
      for (int i = 1; i < args.length; ++i) {
        String fname = args[i];
        System.out.println("adding " + fname);
        FileInputStream in = new FileInputStream(fname);
        out.putNextEntry(new ZipEntry(fname));
        int len;
        while ((len = in.read(buf)) > 0) {
          out.write(buf, 0, len);
        }
        in.close();
      }
      out.close();
    } catch (IOException e) {
      System.err.println(e.toString());
    }
  }
}