Create a zip file with ZipOutputStream in Java
Description
The following code shows how to create a zip file with ZipOutputStream.
Example
/*from w w w . ja v a 2s . com*/
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.zip.CRC32;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
class makeZipFile {
public static void main(String[] args) throws Exception {
makeZipFile list = new makeZipFile();
list.doZip("main.java", "a.zip");
}
public void doZip(String filename, String zipfilename) throws Exception {
byte[] buf = new byte[1024];
FileInputStream fis = new FileInputStream(filename);
fis.read(buf, 0, buf.length);
CRC32 crc = new CRC32();
ZipOutputStream s = new ZipOutputStream((OutputStream) new FileOutputStream(zipfilename));
s.setLevel(6);
ZipEntry entry = new ZipEntry(filename);
entry.setSize((long) buf.length);
crc.reset();
crc.update(buf);
entry.setCrc(crc.getValue());
s.putNextEntry(entry);
s.write(buf, 0, buf.length);
s.finish();
s.close();
}
}