Java—将文件夹压缩为zip文件
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; /** * * @author hwt * */ public class TestDir { /** * 将文件夹以及其下的文件压缩为文件 * @param args * @throws IOException */ public static void main(String[] args) throws IOException {
//源文件夹 File file = new File("D:/ziptest");
//目的文件 ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("D:/test.zip")); if (file.isDirectory()) { File[] files = file.listFiles(); for (int i=0; i<files.length; i++) { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(files[i])); zos.putNextEntry(new ZipEntry(file.getName() + File.separator + files[i].getName())); while (true) { byte[] b = new byte[100]; int len = bis.read(b); if (len == -1) break; zos.write(b, 0, len); } bis.close(); } } zos.close(); } }
每日积累一点,都是进步的见证。