/**
* 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");
}
}
}