java文件压缩四
来源:互联网 发布:航天信息软件发票打印 编辑:程序博客网 时间:2024/05/16 05:26
在前面的文章中都是将单个文件或者文件夹进行压缩,现在我们可以把不同路劲下的多个文件或者文件夹压缩到一起,生成指定的压缩文件,这里使用的是java自带的压缩方式,不支持中文无乱码:
测试类Test:
package com.home;import java.io.File;import java.io.IOException;public class Test {public static void main(String[] args) {try {ZipUtil.ZipFiles(new File("D:\\test\\test.zip"), new File("D:\\test\\test.pdf"), new File("D:\\test\\test1"),new File("D:\\test\\test2"));} catch (IOException e) {e.printStackTrace();}}}
ZipUtil:
package com.home;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 ZipUtil {/** * 压缩接口 * * @param zip * @param srcFiles * @throws IOException */public static void ZipFiles(File zip, File... srcFiles) throws IOException {ZipOutputStream zos = null;try {zos = new ZipOutputStream(new FileOutputStream(zip));ZipFiles(zos, "", srcFiles);} finally {if (zos != null) {zos.close();}}}/** * 压缩文件 * * @param out * @param path * @param srcFiles */private static void ZipFiles(ZipOutputStream out, String path,File... srcFiles) {path = path.replaceAll("\\*", "/");if (!path.endsWith("/")) {path += "/";}byte[] buf = new byte[1024];try {for (int i = 0; i < srcFiles.length; i++) {if (srcFiles[i].isDirectory()) {File[] files = srcFiles[i].listFiles();String srcPath = srcFiles[i].getName();srcPath = srcPath.replaceAll("\\*", "/");if (!srcPath.endsWith("/")) {srcPath += "/";}out.putNextEntry(new ZipEntry(path + srcPath));ZipFiles(out, path + srcPath, files);} else {FileInputStream in = new FileInputStream(srcFiles[i]);out.putNextEntry(new ZipEntry(path + srcFiles[i].getName()));int len;while ((len = in.read(buf)) > 0) {out.write(buf, 0, len);}out.closeEntry();in.close();}}} catch (Exception e) {e.printStackTrace();}}}
0 0
- java文件压缩四
- Java文件压缩与解压缩(四)
- Java IO系列(四):文件压缩GZIP、Zip
- Java中的文件压缩
- Java压缩zip文件
- java 实现文件压缩
- java多线程文件压缩
- JAVA 压缩解压文件
- java压缩单个文件
- java 文件压缩 GZIP
- java压缩文件夹/文件
- java 压缩解压缩文件
- java文件压缩
- java文件压缩二
- java文件读写、压缩
- Java 文件压缩
- java压缩、解压缩文件
- java压缩zip文件
- BSD套接字(BSD Sockets)
- 程序员走上管理之路-审时度势
- 做移动网站还是移动应用程序?
- 一步一步写算法(之 算法总结)
- 北邮新OJ107
- java文件压缩四
- GridView实现分割线
- Java SE之旅_03_多线程(模拟多生产者和多消费者)
- tomcat部署
- OpenCV编程->haar+adaboost识别源码
- Uncaught Error: Error calling method on NPObject 或者uncaught exception: Error in Actionscript. Use a
- 各种语言的区别
- 浅谈AutoResetEvent的用法
- datatable???