1.批量压缩数据
public static byte[] zip(Map<String, byte[]> dataMap) {
byte[] b = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(bos);
try {
Set<Entry<String, byte[]>> entrySet = dataMap.entrySet();
for (Entry<String, byte[]> entry : entrySet) {
ZipEntry cacheEntry = new ZipEntry(entry.getKey());
cacheEntry.setSize(entry.getValue().length);
zip.putNextEntry(cacheEntry);
zip.write(entry.getValue());
zip.closeEntry();
}
zip.close();
b = bos.toByteArray();
bos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return b;
}
方法传入的参数是Map,该Map的键:压缩文件的名称,Map的值:压缩文件的内容。
每个压缩文件对应一个ZipEntry。
结果返回一个byte[]。
2.将压缩文件存储到文件夹中
private static void saveZip(byte[] by) throws Exception{
//