zipUtil(zip打包⼯具类)
说明:
1.平时做zip打包主要⽤到了java.util.zip下的ZipOutputStream、ZipEntry两个API
如需了解这两个API怎么⽤,请⾃⾏查阅⽂档。
2.以下⽅法已经经过测试,可直接copy使⽤,如有不⾜之处请指出。谢谢!
/**
* @param zipFileName zip包⽂件名
* @param paths ⽂件列表路径
* @throws IOException
*/
public static void compress(String paths) throws IOException {
compress(new FileOutputStream(zipFileName),paths);
}
/**
* 压缩⽂件列表到某个zip包
* @param stream 流
* @param paths ⽂件列表路径
* @throws IOException
*/
public static void compress(OutputStream paths) throws IOException {
bbc 尼卡巴嗪ZipOutputStream zos = new ZipOutputStream(stream);
for (String path : paths){
if (StringUtils.equals(path,"")){
continue;
}
File file = new File(path);
if (ists()){
pearson相关分析if (file.isDirectory()){ zipDirectory(Path(),Name() + File.separator);
} else {
zipFile(Path(),"");
}
赛博电影}
}
zos.close();
}
/**
* @param zos zip流
* @param dirName ⽬录名称
* @param basePath
* @throws IOException
*/
和岳姆干的水直流private static void zipDirectory(ZipOutputStream zos,String dirName,String basePath) throws IOException {
File dir = new File(dirName);
if (ists()){
File files[] = dir.listFiles();
if (files.length > 0){
for (File file : files){
if (file.isDirectory()){
zipDirectory(Path(),Name() + File.separator);
} else {
zipFile(Name(),basePath);
}
}
} else {
ZipEntry zipEntry = new ZipEntry(basePath);
zos.putNextEntry(zipEntry);
}
波纹
钢管}
}