java压缩文件
来源:互联网 发布:滴定度的浓度算法 编辑:程序博客网 时间:2024/06/05 11:26
public static void zipFileList(List<File> files , File destZipFile) {ZipOutputStream out = null; FileInputStream in = null;try {out = new ZipOutputStream(new FileOutputStream(destZipFile)); for(File file:files) {byte[] buf = new byte[10240]; in = new FileInputStream(file); out.putNextEntry(new ZipEntry(file.getName())); int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } }}catch(Exception e) {e.printStackTrace(); }finally { try { if (out != null) { out.close(); } if (in != null) in.close(); } catch (IOException e) { e.printStackTrace(); }}}
此方法传入一个文件列表和最终压缩的输出文件,适用于压缩一个或多个文件,可以在一个文件夹也可以不在一个文件夹,压缩之后的所有文件没有层级目录在一个文件夹内。
测试用例:
public static void main(String args[]) {System.out.println(System.currentTimeMillis());List<File> files = new ArrayList<>();files.add(new File("D:\\logs\\1.log"));files.add(new File("D:\\logs\\2.log"));files.add(new File("D:\\logs\\3.log"));files.add(new File("D:\\logs\\4.log"));files.add(new File("D:\\logs\\5.log"));files.add(new File("D:\\logs\\6.log"));;long startTime = System.currentTimeMillis();System.out.println(startTime);ZipUtil.zipFileList(files, new File("d:\\test.zip"));long endTime = System.currentTimeMillis();System.out.println(endTime);System.out.println(endTime - startTime);}
压缩消耗的时间与文件的多少关系不大,与文件的大小关系比较大
阅读全文
0 0
- Java压缩文件和解压缩文件
- java 压缩文件
- java压缩文件
- java压缩文件
- java 压缩文件
- java 压缩文件
- JAVA压缩文件
- java压缩文件
- JAVA 压缩文件
- java压缩文件
- java 压缩文件
- java压缩文件
- java 压缩文件
- java压缩文件
- Java压缩文件
- java压缩文件
- Java 压缩文件
- java压缩文件
- Android中如何使用lambda表达式
- HDU
- bootstrap基础之一
- ImageLoader使用
- 开始刷ZOJ了,立个flag
- java压缩文件
- PullToRefresh ScrollView的GridView和轮播图组合Adapter中代码
- Picasso+banner加载圆角图片,圆形图片
- 【自己的整理】node.js直接输出一个非常简单的HTML页面
- Elasticsearch Head插件安装
- mysql 定时器 启动 存储过程
- Android基本架构
- jsp页面分页逻辑
- Dobot的一些理解