package org.nhooo.example.zip;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZippingFileExample {
public static void main(String[] args) {
String source = "data.txt";
String target = "data.zip";
try (ZipOutputStream zos =
new ZipOutputStream(new FileOutputStream(target));
InputStream is =
ZippingFileExample.class.getResourceAsStream("/" + source)) {
//在ZipOutputStream中放置一个新的ZipEntry
zos.putNextEntry(new ZipEntry(source));
int size;
byte[] buffer = new byte[1024];
//将数据读取到源文件的末尾并写入
//到zip输出流。
while ((size = is.read(buffer, 0, buffer.length)) > 0) {
zos.write(buffer, 0, size);
}
zos.closeEntry();
} catch (IOException e) {
e.printStackTrace();
}
}
}