|     import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.zip.GZIPOutputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
 public class Compress {
 public static void gzipFile(String from, String to) throws IOException {
 FileInputStream in = new FileInputStream(from);
 GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(to));
 byte[] buffer = new byte[4096];
 int bytesRead;
 while ((bytesRead = in.read(buffer)) != -1)
 out.write(buffer, 0, bytesRead);
 in.close();
 out.close();
 }
 
 /** Zip the contents of the directory, and save it in the zipfile */
 public static void zipDirectory(String dir, String zipfile)
 throws IOException, IllegalArgumentException {
 // Check that the directory is a directory, and get its contents
 File d = new File(dir);
 if (!d.isDirectory())
 throw new IllegalArgumentException("Not a directory:  "
 + dir);
 String[] entries = d.list();
 byte[] buffer = new byte[4096]; // Create a buffer for copying
 int bytesRead;
 
 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));
 
 for (int i = 0; i < entries.length; i++) {
 File f = new File(d, entries[i]);
 if (f.isDirectory())
 continue;//Ignore directory
 FileInputStream in = new FileInputStream(f); // Stream to read file
 ZipEntry entry = new ZipEntry(f.getPath()); // Make a ZipEntry
 out.putNextEntry(entry); // Store entry
 while ((bytesRead = in.read(buffer)) != -1)
 out.write(buffer, 0, bytesRead);
 in.close();
 }
 out.close();
 }
 
 public static void main(String args[]) throws IOException {
 String from = ".";
 File f = new File(from);
 boolean directory = f.isDirectory(); // Is it a file or directory?
 
 Compress.zipDirectory(from, from + ".zip");
 Compress.gzipFile(from, from + ".gz");
 }
 }
 
 
 
 
 
 
 
 |