java zip 压缩文件夹_java zip 实现压缩文件和文件夹类Compressor.java
*
* Created on 2009-07-15*
* 压缩文件和文件夹类Compressor.java
*/
package zip;
import java.util.*;
import java.util.zip.*;
import java.io.*;
public class ZIPCompressor {
/**
* 压缩文件
* @param zipFileName 保存的压缩包文件路径
* @param inputFile 需要压缩的文件夹或者文件路径
* @throws Exception
*/
public static void zip(String zipFileName, String inputFile) throws Exception {
zip(zipFileName, new File(inputFile));
}
private static void zip(String zipFileName, File inputFile) throws Exception {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipFileName));
zip(out, inputFile, "");//递归压缩方法
System.out.println("zip done");
out.close();
}
/**
* 递归压缩方法
* @param out 压缩包输出流
* @param f 需要压缩的文件
* @param base 压缩的路径
* @throws Exception
*/
private static void zip(ZipOutputStream out, File f, String base) throws Exception {
System.out.println("Zipping " + f.getName()); //记录日志,开始压缩
if (f.isDirectory()) { // 如果是文件夹,则获取下面的所有文件
File[] fl = f.listFiles();
out.putNextEntry(new ZipEntry(base + "/"));//此处要将文件写到文件夹中只用在文件名前加"/"再加文件夹名
base = base.length() == 0 ? "" : base + "/";
for (int i = 0; i < fl.length; i++) {
zip(out, fl[i], base + fl[i].getName());
}
} else { // 如果是文件,则压缩
out.putNextEntry(new ZipEntry(base)); // 生成下一个压缩节点
FileInputStream in = new FileInputStream(f); // 读取文件内容
int b;
while ((b = in.read()) != -1)
out.write(b); // 写入到压缩包
in.close();
}
}
public static void main(String [] args){
ZIPCompressor cpr = new ZIPCompressor();
try {
cpr.zip("F://client//update.zip", "F://server");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
java zip 压缩文件夹_java zip 实现压缩文件和文件夹类Compressor.java相关推荐
- java date加一天_Java日期时间API系列15-----Jdk8中API类,java日期计算2,年月日时分秒的加减等...
通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...
- Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar
Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar 题目 代码 题目 代码 imp ...
- java zip 文件夹_Java Zip文件文件夹示例
java zip 文件夹 Today we will look into java zip file example. We will also compress a folder and creat ...
- java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件
(1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...
- java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件
递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...
- java删除文件模糊_Java实现的模糊匹配某文件夹下的文件并删除功能示例
本文实例讲述了Java实现的模糊匹配某文件夹下的文件并删除功能.分享给大家供大家参考,具体如下: package com.wyebd.gis; import java.io.File; /** * @ ...
- java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解
java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...
- java 跨域上传_java后台图片跨域上传图片 文件
发送方 @ResponseBody @RequestMapping(value="/imgUpLoadNewOneKuaYu")public String imgUpLoadNew ...
- java文件下载时文件类型_Java基础之文件下载实现自定义名称和格式类型-java下载文件...
response.setContentType()的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据,可以设置文件格式.参考数据如下: re ...
- java 按行读取大文件文件内容_Java实现按行读取大文件
Java实现按行读取大文件 String file = "F:" + File.separator + "a.txt"; FileInputStream fis ...
最新文章
- Android适配难题全面总结
- 【STM32】待机唤醒程序示例
- linux下实现定时器,在Linux操作系统下实现定时器简介
- java同时输出多个数字_java从命令行接收多个数字,求和之后输出结果
- 分光计游标盘ab两个游标作用_汽车防撞梁的作用究竟有多大?没有后防撞梁的汽车真的不安全吗?...
- 动态网站的技术路线_派康大会官方网站建设项目开通上线啦!
- 学习WPF——WPF布局——了解布局容器
- [转载] 树莓派并行控制电机_使用由并行端口控制的软盘驱动步进电机的相机摇摄器
- Java项目本地部署宝塔搭建实战-医院HIS系统源码
- 【原创】我所认识的银行业务之旅(贷款篇)
- svchost.exe 占用网络资源
- 【算法思路】常见岛屿数量的算法题
- 电脑屏幕旋转工具 躺着看才舒服。
- 中国象棋的人机博弈程序
- Linux U盘分区格式化 fdisk命令
- 网站运维如何监控云主机服务
- 初识Vulkun(9):图形流水线/管道
- 计算机视觉(2)随记
- Vondrak滤波及测试(python)
- matlab 单相整流电路,单相桥式整流在MATLAB仿真波形图,以及原理分析