压缩文件夹代码:

import java.io.File;
import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipEntry;public class CompressBook {/**//*
* inputFileName 输入一个文件夹
* zipFileName 输出一个压缩文件夹
*/
public void zip(String inputFileName) throws Exception {String zipFileName = "C:\\temp\\"; //打包后文件名字if(com.turbocms.tools.Config.Debug.equals("true"))System.out.println(zipFileName);zip(zipFileName, new File(inputFileName));
}
public void zipOfName(String inputFileName,String zipFileName) throws Exception {zip(zipFileName, new File(inputFileName));
}private void zip(String zipFileName, File inputFile) throws Exception {ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));zip(out, inputFile, "");if(com.turbocms.tools.Config.Debug.equals("true"))System.out.println("zip done");out.close();
}private void zip(ZipOutputStream out, File f, String base) throws Exception {if (f.isDirectory()) {File[] fl = f.listFiles();out.putNextEntry(new org.apache.tools.zip.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 org.apache.tools.zip.ZipEntry(base));FileInputStream in = new FileInputStream(f);int b;if(com.turbocms.tools.Config.Debug.equals("true"))System.out.println(base);while ( (b = in.read()) != -1) {out.write(b);}in.close();}
}public static void main(String [] temp){CompressBook book = new CompressBook();try {// book.zip("E:\\temp\\pes\\temp\\115411B78AF6F2CDD513393FB8F0A8C6");//你要压缩的文件夹}catch (Exception ex) {ex.printStackTrace();}
}
}

文件压缩

import java.io.*;
import java.util.zip.*;//ZipOutputStream这个流在这里
import java.util.*;public class ZipOutputStreamTest
{public static void main(String[] args) throws Exception{File f = new File("a.jpg");FileInputStream fis = new FileInputStream(f);BufferedInputStream bis = new BufferedInputStream(fis);byte[] buf = new byte[1024];int len;FileOutputStream fos = new FileOutputStream(f.getName()+".zip");BufferedOutputStream bos = new BufferedOutputStream(fos);ZipOutputStream zos = new ZipOutputStream(bos);//压缩包ZipEntry ze = new ZipEntry(f.getName());//这是压缩包名里的文件名zos.putNextEntry(ze);//写入新的 ZIP 文件条目并将流定位到条目数据的开始处while((len=bis.read(buf))!=-1){zos.write(buf,0,len);zos.flush();}bis.close();zos.close(); }
}

转载于:https://www.cnblogs.com/lan0725/archive/2011/03/10/1980097.html

【转载】用java压缩文件夹/文件相关推荐

  1. python ftp文件夹文件递归上传推送

    python ftp文件夹文件递归上传推送 posted on 2018-10-16 17:05 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnbl ...

  2. C#获取文件夹/文件的大小以及占用空间 转摘自:http://www.cnblogs.com/chenpeng-dota/articles/2176470.html...

    C#获取文件夹/文件的大小以及占用空间 今天,头给了个任务:写个方法,我会给你个路径,计算这个路径所占用的磁盘空间 . 然后,找了很多资料.但大部分都是获取文件夹/文件的大小的.对于占用空间的没有成品 ...

  3. 【基础】Windows 必会技能 ——解除文件夹/文件占用

    文章目录 一.问题 二.解决 1.打开任务管理器 2.打开资源监视器 三.拓展学习 1.任务管理器 (1)打开方式(6种) (2)功能妙用 ①迷你系统监测面板 ②曲线监测图 ③参数快速复制 ④开机启动 ...

  4. python 使用sort()函数和正则表达式(lambda)对os.listdir()获取的文件夹文件列表进行重新排序 乱序排序

    # 排序函数,对文件列表进行排序 # 排序函数,对文件列表进行排序(filenames为文件夹文件的文件名的字符串列表) def sort_filenames(filenames):# (1)可以以l ...

  5. Python 创建随机名字的文件夹/文件

    Python 创建随机名字的文件夹/文件 导入库 创建文件名 创建文件 导入库 import random import string import os 创建文件名 dir_name = ''.jo ...

  6. VB 详细枚举指定目录、文件夹文件列表

    VB 详细枚举指定目录.文件夹文件列表: Public Function TheFileAttr(P As String) As String '读取指定文件/文件夹属性     On Error G ...

  7. php存在文件夹_PHP创建文件夹 PHP判断文件夹文件是否存在

    这篇文章主要为大家详细介绍了PHP创建文件夹 PHP判断文件夹文件是否存在,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. PHP如何创建文件夹?PHP如何判断文 ...

  8. 计算机各个盘的作用,C盘各个文件夹/文件的作用是什么(Win7/Win8/Win10系统)?

    C盘各个文件夹/文件的作用是什么(Win7/Win8/Win10系统)?有些事情,高手不屑于为我们讲解,有些是因为确实有难度.对于系统文件,大多数朋友都会讳莫如深,好像多神秘似的,今天笔者来吃这个螃蟹 ...

  9. Python批量修改单个文件夹文件后缀

    今天下载了视频,但是视频格式是.mkv的,唱戏机不支持mkv格式,所以需要将后缀改成.mp4(其他文件格式也可以),由于视频比较多一个一个的更改比较麻烦,所以想到了用python来进行批量修改. 首先 ...

  10. 文件夹文件自动生成目录的方法-保存到txt

    文件夹文件自动生成目录的方法-保存到txt 1.打开记事本: 2.复制以下内容: @echo off     dir /b /on >list.txt 3.另存为bat,类型ANSI

最新文章

  1. tomcat上传war包失败
  2. elastic date时区问题解决办法
  3. PHP----------线程安全和非线程安全的介绍
  4. 【机器视觉】 global算子
  5. 【Python】浅谈 multiprocessing
  6. python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...
  7. html盒子嵌套居中,css在盒子中垂直居中和固定居中
  8. E. 数好多好多猴(南阳理工oj—21新生第二场招新赛)
  9. cad图形如何导入到奥维地图_【详细教程】奥维地图上查看项目的线路图或平面图...
  10. 内核并发控制---RCU (来自网易)
  11. 高性能网关设备及服务实践
  12. 高校网络中心主任挨骂冤不冤?
  13. YII 利用Clip构建layout
  14. java android开发框架_android开发的三大框架是什么?
  15. 如何安装服务器操作系统 HP服务器系统安装
  16. 4330. 非传递骰子
  17. 2023年清华大学电子与通信工程考研上岸前辈备考经验
  18. mysql数据库问题解答_MySQL数据库常见错误问题解答 - MySQL 教程精选
  19. 罗克韦尔 Rockwell RSLogix 500 Crack
  20. 【UWP】AnimatedIcon 动态图标的实现步骤

热门文章

  1. aix查看oracle数据库端口号,通过netstat+rmsock查找AIX端口对应进程
  2. 物理实验数据处理(c语言)
  3. new出来的对象怎么回收_JVM的内存模型及垃圾回收算法
  4. 竖向图片插入_Word小技巧:让你的图片文字排版更有创意
  5. 优秀Java开发者都在看的书籍
  6. springboot security 权限不足_SpringBoot 整合 SpringSecurity 之起源篇(零)
  7. antd 判断input输入内容是否大于_Python基础语法 | 代码规范amp;判断语句amp;循环语句...
  8. java授查 非授查异常_java检查异常与非检查异常
  9. C语言按各科分数段统计人数,(更新啦)学校学生成绩统计通用模板(科目、分数、统计分数段等均可自定,班级数、学生人数不受限制)...
  10. ARMA模型的性质之方法性工具