import java.io.*;
import java.util.zip.*;
import java.util.Enumeration;
public class ZipCompress
{
public static void main(String[] args) throws IOException
{
// TODO 自动生成方法存根
if (args.length < 1)
{
System.out.println("Usage:/n" +
"java ZipCompress filename1 filename2 .....");
System.exit(1);
}
FileOutputStream fos = new FileOutputStream("test.zip");
CheckedOutputStream csum = new CheckedOutputStream(fos,new CRC32());
ZipOutputStream zos = new ZipOutputStream(csum);
BufferedOutputStream bos = new BufferedOutputStream(zos);
zos.setComment("It's a java zip program.");
for (int i =0;i<args.length;i++)
{
System.out.println("Writing file " + args[i]);
BufferedReader in = new BufferedReader(new FileReader(args[i]));
zos.putNextEntry(new ZipEntry(args[i]));
int c;
while ((c=in.read()) != -1)
bos.write(c);
in.close();
}
bos.close();
System.out.println("CheckSum" + csum.getChecksum().getValue());
System.out.println("Reading and Extracting File");
FileInputStream fis = new FileInputStream("test.zip");
CheckedInputStream cis = new CheckedInputStream(fis,new CRC32());
ZipInputStream zis = new ZipInputStream(cis);
BufferedInputStream bis = new BufferedInputStream(zis);
ZipEntry ze;
while ((ze = zis.getNextEntry()) != null)
{
System.out.println("Reading file " + ze);
int s;
while ((s = bis.read()) != -1)
System.out.print(s);
}
System.out.println("/nCheckSum" + csum.getChecksum().getValue());
bis.close();
ZipFile zf = new ZipFile("test.zip");
Enumeration e = zf.entries();
while (e.hasMoreElements())
{
System.out.println("file " + e.nextElement());
}
}
}