java压缩文件夹下所有文件
public class FileUtils{/*** 压缩文件** @param sourceFilePath 源文件路径* @param zipFilePath 压缩后文件存储路径* @param zipFilename 压缩文件名*/public static void compressToZip(String sourceFilePath, String zipFilePath, String zipFilename) {File sourceFile = new File(sourceFilePath);File zipPath = new File(zipFilePath);if (!zipPath.exists()) {zipPath.mkdirs();}File zipFile = new File(zipPath + File.separator + zipFilename);try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) {writeZip(sourceFile, "", zos);//文件压缩完成后,删除被压缩文件boolean flag = deleteDir(sourceFile);log.info("删除被压缩文件[" + sourceFile + "]标志:{}", flag);} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e.getMessage(), e.getCause());}}/*** 遍历所有文件,压缩** @param file 源文件目录* @param parentPath 压缩文件目录* @param zos 文件流*/public static void writeZip(File file, String parentPath, ZipOutputStream zos) {if (file.isDirectory()) {//目录parentPath += file.getName() + File.separator;File[] files = file.listFiles();for (File f : files) {writeZip(f, parentPath, zos);}} else {//文件try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {//指定zip文件夹ZipEntry zipEntry = new ZipEntry(parentPath + file.getName());zos.putNextEntry(zipEntry);int len;byte[] buffer = new byte[1024 * 10];while ((len = bis.read(buffer, 0, buffer.length)) != -1) {zos.write(buffer, 0, len);zos.flush();}} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e.getMessage(), e.getCause());}}/*** 删除文件夹** @param dir* @return*/public static boolean deleteDir(File dir) {if (dir.isDirectory()) {String[] children = dir.list();for (int i = 0; i < children.length; i++) {boolean success = deleteDir(new File(dir, children[i]));if (!success) {return false;}}}//删除空文件夹return dir.delete();}
}
java压缩文件夹下所有文件相关推荐
- Java删除指定文件夹下的文件和目录
Java删除指定文件夹下的文件和目录 import java.io.File;public class TestFile {public static void main(String[] args) ...
- java中File类应用:遍历文件夹下所有文件
练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件;import java.io.File;public class Test {public sta ...
- java删除文件模糊_Java实现的模糊匹配某文件夹下的文件并删除功能示例
本文实例讲述了Java实现的模糊匹配某文件夹下的文件并删除功能.分享给大家供大家参考,具体如下: package com.wyebd.gis; import java.io.File; /** * @ ...
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
java读取文件夹下所有文件并替换文件每一行中指定的字符串 该文章为转载文章,请尊重原文作者的劳动成果,好的文章应该被展示 原文传送门 多说两句,关键时候救人性命的人,可以称之为大人,随时做好利见大人 ...
- java 获取文件夹下所有文件
java 获取文件夹下所有文件 以下两个函数实现获取文件夹下所有文件 /*** 获取指定文件夹下所有文件,不含文件夹里的文件** @param dirFilePath 文件夹路径* @return*/ ...
- Java中怎么获取文件夹的名称_java获取文件夹下所有文件的名称
<java获取文件夹下所有文件的名称>由会员分享,可在线阅读,更多相关<java获取文件夹下所有文件的名称(2页珍藏版)>请在人人文库网上搜索. 1.如果想要获得当前文件中的文 ...
- java遍历文件夹下的文件
网上大多采用java递归的方式遍历文件夹下的文件,这里我不太喜欢递归的风格,就用循环的方式遍历文件夹下的文件,这里用的File的listFiles()方法,下面贴一个使用示例 这是需要遍历的文件夹: ...
- linux 压缩当前文件夹下所有文件
linux zip压缩.压缩当前文件夹下所有文件,压缩为a.zip.命令行的方法是怎样. zip -r fileName.zip 文件夹名 tar tar命令可以用来压缩打包单文件.多个文件.单个目录 ...
- Java删除文件夹下所有文件的方法
1.使用FileUtils类 来自 Apache Commons IO的FileUtils类提供了几个方便的文件操作实用程序.您可以使用该FileUtils.cleanDirectory()方法递归删 ...
- linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...
1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...
最新文章
- vue引入图片路径的三种主要方法
- anaconda怎么下载python3.6_Anaconda Python3.6下载
- linux基础知识——exec函数
- zend studio设置自动保存
- idea运行maven:No URLs will be polled as dynamic configuration sources
- 向新手和不愿意尝试的童鞋推荐vim插件(转载)
- KB954430补丁重复安装失败的解决办法
- 如何使用键盘快捷键在Mac上录制屏幕?
- 【图像压缩】基本matlab DCT+量化+huffman JPEG图像压缩【含Matlab源码 1217期】
- 计算机地图制图的点状符号制作,点状符号
- 键盘代替鼠标工具 Vimac for Mac
- Matlab曲线平滑
- c# 小票打印机打条形码_C# Code 128条形码打印的问题
- Mysql 超键 候选键 主键 外键之间关系
- docker 配置 CA验证
- 右键菜单项删除 pycharm vs
- 云服务器系统一键安装,一键安装服务器系统
- 使用GBase企业管理器执行 select count(1) into @c from t1;报错解决方案
- 书桌台灯怎么选?分享儿童卧室灯品牌
- DPlayer播放m3u8
热门文章
- WPF学习之绘图和动画
- Binarized Neural Network : BNN二值神经网络代码实例
- A better Tooltip with jQuery
- ptp精准时间协议_PTP时钟协议原理
- android 获取方法名,Android获取渠道名称
- 硒化钼纳米颗粒/MoSe2 Nanoparticles的介绍 提供氨基/NH2/羧基COOH/PEG/蛋白Protein/抗体antibody功能化修饰的硒化钼纳米颗粒/MoSe2 Nanoparti
- C语言协程库async
- qt删除键值_Qt QMap键值对基本用法(键值对)
- 浏览器主页被篡改劫持怎么办、主页被劫持的解决办法
- CTFweb篇——html源代码签到题