Java压缩文件/文件夹
ZipOutputStream流、递归压缩。
在关闭ZipOutputStream流之前,需要先调用flush()方法,强制将缓冲区所有的数据输出,以避免解压文件时出现压缩文件已损坏的现象。
/*** @param source 待压缩文件/文件夹路径* @param destination 压缩后压缩文件路径* @return*/
public static boolean toZip(String source, String destination) {try {FileOutputStream out = new FileOutputStream(destination);ZipOutputStream zipOutputStream = new ZipOutputStream(out);File sourceFile = new File(source);// 递归压缩文件夹compress(sourceFile, zipOutputStream, sourceFile.getName());zipOutputStream.flush();zipOutputStream.close();} catch (IOException e) {System.out.println("failed to zip compress, exception");return false;}return true;
}
private static void compress(File sourceFile, ZipOutputStream zos, String name) throws IOException {byte[] buf = new byte[1024];if(sourceFile.isFile()){// 压缩单个文件,压缩后文件名为当前文件名zos.putNextEntry(new ZipEntry(name));// copy文件到zip输出流中int len;FileInputStream in = new FileInputStream(sourceFile);while ((len = in.read(buf)) != -1){zos.write(buf, 0, len);}zos.closeEntry();in.close();} else {File[] listFiles = sourceFile.listFiles();if(listFiles == null || listFiles.length == 0){// 空文件夹的处理(创建一个空ZipEntry)zos.putNextEntry(new ZipEntry(name + "/"));zos.closeEntry();}else {// 递归压缩文件夹下的文件for (File file : listFiles) {compress(file, zos, name + "/" + file.getName());}}}
}
Java压缩文件/文件夹相关推荐
- java如何压缩html代码,java 压缩html文件
java 压缩html文件 [2021-02-03 16:32:07] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...
- java压缩zip文件夹错误_Java将文件或者文件夹压缩成zip(修复文件夹中存在多个文件报Stream Closed错误问题)...
项目场景: Java将文件或者文件夹压缩成zip(修复文件夹中存在多个文件报Stream Closed错误问题) 问题描述: 最近的项目需要将多级文件夹压缩成zip,网上找了几个工具类,都会报错,所以 ...
- java压缩zip文件中文乱码问题
--转自:http://riching.iteye.com/blog/579634 用java来打包文件生成压缩文件,有两个地方会出现乱码 1.内容的中文乱码问题,这个问题网上很多人给出了解决方法,两 ...
- Java 压缩20M文件从30秒到1秒的优化过程,真不相信?
(源码下载方式在文末) 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完 ...
- Java压缩20M文件非常厉害
有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前 ...
- Java压缩效率优化思路
昨天微信公众号上看到了一篇<Java压缩20M文件从30秒到1秒的优化过程>的文章,记录一下,最后作者的感悟,受教了. 可以关注一下 原文章链接我没找到(太懒了),加公众号自己去找吧. 不 ...
- Java实现将文件或者文件夹压缩成zip
Java实现将文件或者文件夹压缩成zip 最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类. 这个工具类的功 ...
- java 压缩文件夹_java 实现压缩文件(单文件 或 文件夹)
接着上篇了解一下java压缩实现过程,下面的是支持 单文件 或 文件夹 压缩的实现,使用递归. 效果: 代码: package com.gx.compress; import java.io.Buff ...
- java zip文件夹_如何使用java压缩文件夹成为zip包
展开全部 在JDK中有一个zip工具类:java.util.zip Provides classes for reading and writing the standard ZIP and G ...
- 【转载】用java压缩文件夹/文件
压缩文件夹代码: import java.io.File; import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载 im ...
最新文章
- 代码规范性与品质问题~
- 什么样的技术人员更容易接到软件开发项目?(论干私活儿)
- CocoaPods was not found 解决
- IDEA快捷键及使用技巧
- c语言射击类小游戏任务书,(c语言课程设计报告小游戏“石头剪子布”.doc
- php 5.3 连接mysql_php5.3.x5.4.x5.5.x连接mysql数据库的三种方式以及所用驱动
- VS返回到上次编辑和进入到下次编辑的位置快捷键
- 第39天-进程 _1(2013.09.11)
- iBatis下使用like查询,以及需要注意的问题
- 『007』MySQL
- 基于STM32数码相册
- 腾讯云学生服务器分享
- 整理收纳的概念和意义
- C++-STL-组件(一)-容器05:stack(栈)
- 对main 未定义的引用_错误:ID返回1个退出状态(对“ main”的未定义引用)
- Ubuntu软件管理、换源、驱动及部分软件安装操作(持续更新)
- 南核目录2020pdf_最新版CSSCI来源期刊目录及增减变化!
- 模型auc指标_auc致命缺陷模型指标
- 2020应届毕业生,Android春招总结,已入职小米,进阶加薪全靠它
- 最小二乘法,正则推导
热门文章
- 网站优化关键词密度多少才是最合适的?
- 对潇潇暮雨洒江天,一番洗清秋。渐霜风凄紧,关河冷落,残照当楼。是处红衰翠减,苒苒物华休。唯有长江水,无语东流。不忍登高临远,望故乡渺邈,归思难收。叹年来踪迹,何事苦淹留?想佳人,妆楼颙望,误几回、天际
- 数据分析必备43个Excel函数
- 谈谈量化交易的一些“深坑”
- 共享换电:车企筑垒,宁王拆墙
- 四芯水晶头电话线的接法
- 网络计算机组显示不全,快速解答win7系统网络邻居显示不全只能看到2台计算机的法子...
- 蚂蚁金服自研架构 SOFA 背后的工程师|1024快乐
- rk3399 android 9.0 root 权限及测试应用
- oss 视频 转码_oss视频转码----比阿里云文档更详细