package StreamZipPrintDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Demo4 {
//压缩文件
public static void main(String[] args) throws IOException {
//创建File文件,指定压缩对象
File f = new File("D:\\Desktop\\images");
//调取根目录
File f2 = f.getParentFile();
//连接路径
File f3 = new File(f2, f.getName() + ".zip");
//创建压缩流
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(f3));
//压缩方法
toZip(f, zos, f.getName());
zos.close();
}
private static void toZip(File f3, ZipOutputStream zos, String name) throws IOException {
File[] files = f3.listFiles();
for (File file : files) {
// //创建压缩包
//如果是文件
if (file.isFile()) {
//创建压缩文件夹
ZipEntry entry = new ZipEntry(name + "//" + file.getName());
zos.putNextEntry(entry);
FileInputStream fis = new FileInputStream(file);
int len;
while ((len = fis.read()) != -1) {
zos.write(len);
}
fis.close();
zos.closeEntry();
}
//如果是文件夹
else {
toZip(file, zos, name + "//" + file.getName());
}
}
}
}
压缩文件(java版)
最新推荐文章于 2024-09-02 23:14:47 发布