/**
*
* @param files 需要解压的文件
* @param zipFile 解压后的zip文件
*/
public static void filesToZip(List<File> files, File zipFile){
ZipOutputStream zipStream = null;
FileInputStream zipSource = null;
BufferedInputStream bufferStream = null;
try {
zipStream = new ZipOutputStream(new FileOutputStream(zipFile));
for (File file:files) {
if (file.exists()){
zipSource = new FileInputStream(file);//将需要压缩的文件格式化为输入流
ZipEntry zipEntry = new ZipEntry(file.getName());//在压缩目录中文件的名字
zipStream.putNextEntry(zipEntry);//定位该压缩条目位置,开始写入文件到压缩包中
bufferStream = new BufferedInputStream(zipSource, 1024 * 10);
int read = 0;
byte[] buf = new byte[1024 * 10];
while((read = bufferStream.read(buf, 0, 1024 * 10)) != -1)
{
zipStream.write(buf, 0, read);
}
}
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if(null != bufferStream)
bufferStream.close();
if(null != zipStream){
zipStream.flush();
zipStream.close();
}
if(null != zipSource) zipSource.close();
} catch (IOException e) {
e.printStackTrace();
}
}