/** * Create a zip or gzip archive * * Assignment #3 by Alex Rudniy. */ import java.io.*; import java.util.zip.*; public class Zip { static final int BUFFER = 2048; public static void main (String args[]) { try { String archiveType = args[0]; String fileName = args[1]; BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream(args[1] + ".zip"); FileInputStream fi = new FileInputStream(args[1]); origin = new BufferedInputStream(fi, BUFFER); if (args[0].equals("zip")){ ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); ZipEntry entry = new ZipEntry(args[1]); out.putNextEntry(entry); byte data[] = new byte[BUFFER]; int count; while((count = origin.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } out.close(); } else if (args[0].equals("gzip")){ GZIPOutputStream out = new GZIPOutputStream(new BufferedOutputStream(dest)); byte data[] = new byte[BUFFER]; int count; while((count = origin.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } } origin.close(); } catch(Exception e) { e.printStackTrace(); System.out.println("USAGE: java Zip archiveType fileName"); } } }