- 浏览: 583084 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- JBPM (3)
- WWF (0)
- JavaScript (11)
- J2EE (40)
- OperationSystem (11)
- 数据库 (12)
- CSS (1)
- Ajax (2)
- J2SE (30)
- Tools (10)
- 服务器中间件 (3)
- 异常 (0)
- Flex (5)
- jQuery (11)
- html (9)
- Ejb (1)
- HTML5 Shiv–让该死的IE系列支持HTML5吧 (1)
- Spring (9)
- Quartz (3)
- log4j (1)
- maven (1)
- cpdetector (1)
- JSON (1)
- log4jdbc (1)
- asm (8)
- FusionCharts (1)
- jqplot (1)
- highcharts (1)
- excanvas (1)
- html5 (1)
- jpcap介绍 (1)
- weblogic (3)
- URLURLClassLoader (0)
- URLClassLoader (1)
- ant (2)
- ivy (2)
- nexus (1)
- IT (0)
- LoadRunner (1)
- SCSS (1)
- ruby (1)
- webstorm (1)
- typescript (1)
- Jboss7 (1)
- wildfly (1)
- oracle (5)
- esb (0)
- dubbo (2)
- zookeeper (3)
- eclipse (1)
- Android (2)
- Studio (1)
- Google (1)
- 微信 (1)
- 企业号 (1)
- Linux (13)
- Oracle12c (1)
- Hadoop (1)
- InletexEMC (1)
- Windows (1)
- Netty (3)
- Marshalling (2)
- Protobuf (1)
- gcc (1)
- Git (1)
- GitLab (1)
- shell (2)
- java (3)
- Spring4 (1)
- hibernate4 (1)
- postgresql (1)
- ApacheServer (2)
- Tomcat (2)
- ApacheHttpServer (2)
- realvnc (1)
- redhat (7)
- vncviewer (1)
- LVS (4)
- LVS-DR (1)
- RedHat6.5 (5)
- LVS-NAT (1)
- LVS-IPTUNNEL (2)
- LVS-TUN (1)
- keepalived (2)
- yum (1)
- iso (1)
- VMware (1)
- redhat5 (1)
- ha (1)
- nginx (2)
- proguard (1)
- Mat (1)
- DTFJ (1)
- axis2 (1)
- web service (1)
- centos (1)
- random (1)
- urandom (1)
- apache (1)
- IBM (1)
- cve (1)
- 漏洞 (1)
- JDBC (1)
- DataSource (1)
- jdk (1)
- tuxedo (2)
- wtc (1)
最新评论
-
skying007:
好资料,谢谢分享给啊
FusionCharts在服务器端导出图片(J2EE版) -
cgnnzg:
大神好 可以发一份源码给我学习么 多谢了 978241085 ...
springmvc+dubbo+zookeeper -
jifengjianhao:
求源码:854606899@qq.com
springmvc+dubbo+zookeeper -
wdloyeu:
shihuan8@163.com邮箱网盘在哪,没找到。能给份源 ...
Java Socket长连接示例代码 -
huangshangyuanji:
求代码:45613032@qq.com
springmvc+dubbo+zookeeper
依赖commons-compress-1.2.jar和commons-lang3-3.0.l.jar包。
TestCompress.java类代码:
TestCompress.java类代码:
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import org.apache.commons.compress.archivers.ArchiveException; import org.apache.commons.compress.archivers.ArchiveInputStream; import org.apache.commons.compress.archivers.ArchiveOutputStream; import org.apache.commons.compress.archivers.ArchiveStreamFactory; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.compress.archivers.zip.ZipFile; import org.apache.commons.compress.utils.IOUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class TestCompress { static Logger logger = Logger.getLogger(TestCompress.class); //多重打包 public static void makeZip() throws IOException, ArchiveException{ File f1 = new File("D:/compresstest.txt"); File f2 = new File("D:/test1.xml"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); //ArchiveOutputStream ostemp = new ArchiveStreamFactory().createArchiveOutputStream("zip", baos); ZipArchiveOutputStream ostemp = new ZipArchiveOutputStream(baos); ostemp.setEncoding("GBK"); ostemp.putArchiveEntry(new ZipArchiveEntry(f1.getName())); IOUtils.copy(new FileInputStream(f1), ostemp); ostemp.closeArchiveEntry(); ostemp.putArchiveEntry(new ZipArchiveEntry(f2.getName())); IOUtils.copy(new FileInputStream(f2), ostemp); ostemp.closeArchiveEntry(); ostemp.finish(); ostemp.close(); // final OutputStream out = new FileOutputStream("D:/testcompress.zip"); final OutputStream out = new FileOutputStream("D:/中文名字.zip"); ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream("zip", out); os.putArchiveEntry(new ZipArchiveEntry("打包.zip")); baos.writeTo(os); os.closeArchiveEntry(); baos.close(); os.finish(); os.close(); } //解压zip包中的所有文件 public static void makeUnZip() throws IOException, ArchiveException{ File f = new File("D:/中文名字.zip"); ZipFile zf = new ZipFile(f, "GBK"); File folder = new File("D:/中文名字"); if (!folder.exists()) { folder.mkdirs(); } for (Enumeration<ZipArchiveEntry> files = zf.getEntries(); files.hasMoreElements();) { ZipArchiveEntry zae = files.nextElement(); String zipname = zae.getName(); if (zipname.endsWith(".zip")) { String innerzip = StringUtils.removeEnd(zipname, ".zip"); File innerfolder = new File(folder + File.separator + innerzip); if (!innerfolder.exists()) { innerfolder.mkdirs(); } ZipArchiveInputStream zais = new ZipArchiveInputStream(zf.getInputStream(zae), "GBK", true); FileOutputStream fos = null; ZipArchiveEntry innerzae = null; while ((innerzae = zais.getNextZipEntry()) != null) { fos = new FileOutputStream(folder + File.separator + innerzip + File.separator + innerzae.getName()); IOUtils.copy(zais, fos); } zais.close(); fos.flush(); fos.close(); } else { ZipArchiveEntry packinfo = zf.getEntry(zipname); String filename = folder + File.separator + zipname; FileOutputStream fos = new FileOutputStream(filename); InputStream is = zf.getInputStream(packinfo); IOUtils.copy(is, fos); is.close(); fos.flush(); fos.close(); } } zf.close(); } /** * 把一个ZIP文件解压到一个指定的目录中 * @param zipfilename ZIP文件抽象地址 * @param outputdir 目录绝对地址 */ public static void unZipToFolder(String zipfilename, String outputdir) throws IOException { File zipfile = new File(zipfilename); if (zipfile.exists()) { outputdir = outputdir + File.separator; FileUtils.forceMkdir(new File(outputdir)); ZipFile zf = new ZipFile(zipfile, "UTF-8"); Enumeration zipArchiveEntrys = zf.getEntries(); while (zipArchiveEntrys.hasMoreElements()) { ZipArchiveEntry zipArchiveEntry = (ZipArchiveEntry) zipArchiveEntrys.nextElement(); if (zipArchiveEntry.isDirectory()) { FileUtils.forceMkdir(new File(outputdir + zipArchiveEntry.getName() + File.separator)); } else { IOUtils.copy(zf.getInputStream(zipArchiveEntry), FileUtils.openOutputStream(new File(outputdir + zipArchiveEntry.getName()))); } } } else { throw new IOException("指定的解压文件不存在:\t" + zipfilename); } } //一层打包 public static void makeOnlyZip() throws IOException, ArchiveException{ File f1 = new File("D:/compresstest.txt"); File f2 = new File("D:/test1.xml"); final OutputStream out = new FileOutputStream("D:/中文名字.zip"); ArchiveStreamFactory asf = new ArchiveStreamFactory(); asf.setEntryEncoding("GB18030"); ArchiveOutputStream aos = asf.createArchiveOutputStream(ArchiveStreamFactory.ZIP, out); aos.putArchiveEntry(new ZipArchiveEntry(f1.getName())); IOUtils.copy(new FileInputStream(f1), aos); aos.closeArchiveEntry(); aos.putArchiveEntry(new ZipArchiveEntry(f2.getName())); IOUtils.copy(new FileInputStream(f2), aos); aos.closeArchiveEntry(); aos.close(); } //解压zip包中的第一个文件 public static void makeOnlyUnZip() throws ArchiveException, IOException{ final InputStream is = new FileInputStream("D:/中文名字.zip"); ArchiveInputStream in = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP, is); ZipArchiveEntry entry = entry = (ZipArchiveEntry) in.getNextEntry(); String dir = "D:/cnname"; File filedir = new File(dir); if(!filedir.exists()){ filedir.mkdir(); } // OutputStream out = new FileOutputStream(new File(dir, entry.getName())); OutputStream out = new FileOutputStream(new File(filedir, entry.getName())); IOUtils.copy(in, out); out.close(); in.close(); } /** * @param args */ public static void main(String[] args) throws ArchiveException { try { // makeZip(); // makeOnlyZip(); // makeOnlyUnZip(); // makeUnZip(); unZipToFolder("D:\\中文名字.zip", "D:\\中文哈"); } catch (IOException e) { e.printStackTrace(); } } }
- TestCompress.rar (1.7 KB)
- 下载次数: 58
发表评论
-
Spring4Mvc整合Hibernate4框架示例
2016-02-05 11:52 1403今天用NetBeans8.1搭建了一套Spring4MVC+H ... -
Spring4配置properties文件的一点儿细节
2016-02-04 15:40 2807http://repo.spring.io/release/o ... -
JavaWeb发送信息到微信公众平台的企业号
2015-11-01 22:42 3807首先到微信公众平台申请微信企业号: https://qy.we ... -
springmvc+dubbo+zookeeper
2015-09-22 11:34 12035笔者这里使用的是apache- ... -
OracleAS10g安装配置与部署
2015-07-01 20:59 712先到Oracle官方下载OracleAS10的安装包,截图如下 ... -
java和spring使用weblogic数据源配置
2014-10-13 11:29 3036需要weblogic.jar和jrmpclient.jar ... -
一套基本的SpringMvc工程所需要的最基本jar包(pom.xml)
2014-08-19 16:38 1916附件里是pom.xml文件。 -
html的form表单提交得不到参数问题
2014-07-25 16:13 1867今天同事问我他的form表单按submit方式提交,在Java ... -
Spring3Mvc导出PDF的3种形式+导出excel的两种形式(exportAnimal.do)
2014-07-19 22:55 1146附件里SpringMvc导出PDF和Excel的示例代码。 ... -
Java利用中国网建SMS短信通平台发送手机短信
2014-04-26 21:55 2248JAVA发送手机短信,流传有几种方法: (1)使用webser ... -
在Java中发送电子邮件
2014-04-26 18:42 9614要先申请一个网易的126邮箱和一个新浪的com邮箱。 以下程 ... -
cpdetector_1.0.10_binary下载
2014-03-26 20:53 1045附件里是cpdetector_1.0.10_binary.ra ... -
在Java代码中用Axis2调用DotNet语言的WebService程序
2014-02-19 15:19 2585package com.shihuan.ymail.com ... -
SpringMvc多语言配置
2014-01-14 16:01 14438applicationContext.xml文件中加入如下代码 ... -
log4j多级别多输出文件的配置
2013-07-22 21:28 1578以下代码需要log4j-1.2.17.jar的支持。 B ... -
mysql和Oracle在对clob和blob字段的处理
2012-08-25 18:50 30921一、MySQL与Oracle数据库如何处理Clob,Bl ... -
Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度
2012-08-05 12:54 2220附件里是笔者的源代码,相关的jar包在笔者的abcdef的16 ... -
Lucene案例
2012-06-10 15:15 2613IndexerMmseg4j.java代码如下: import ... -
Mina入门程序
2012-06-02 15:05 1154附件里是Mina的入门程序。 http://mina.apa ... -
让Hibernate的执行语句看见完整参数
2012-04-29 10:09 1048http://www.ibm.com/developerwor ...
相关推荐
总的来说,`commons-compress.jar` 是Java开发者处理各种压缩格式的强大工具,通过其提供的API,可以方便地在应用中集成压缩和解压功能,同时支持多种格式,极大地提升了开发效率和代码的可维护性。无论是处理单一...
Commons Compress库是Apache软件基金会开发的一个开源项目,它的主要目标是提供一个统一的API来处理各种不同的压缩格式。在给定的"commons-compress-1.18-bin" jar包中,包含了这个库的可执行版本,适用于Java平台。...
commons-compress-1.18.jar是一个Java压缩库,专注于数据的压缩和解压缩功能,支持多种常见的压缩格式。它提供了广泛的压缩算法和工具,用于数据存储、传输和优化存储空间。 【使用人群】 适用于Java开发者、数据...
《Apache Commons Compress库在Android中的应用》 Apache Commons Compress库是Java平台上的一个开源项目,主要用于处理各种文件压缩格式。在这个特定的压缩包"commons-compress-1.17-bin"中,包含了用于在Android...
commons-compress不仅支持基本的ZIP操作,还支持ZIP64(处理大文件)和一些扩展特性。 这个库的使用非常简单,只需导入相应的依赖,就可以方便地处理各种压缩格式,极大地简化了Java开发者的工作。它提供了一致的...
Apache Commons Compress库是Java平台上的一个开源项目,专门用于处理各种文件压缩格式。这个库提供了方便的API,使得开发者可以轻松地在Java应用程序中实现文件的压缩和解压缩功能。"commons-compress-1.15-bin.zip...
Commons Compress不仅提供基本的压缩和解压缩功能,还支持一些高级特性,如处理自解压文件(如Windows的自解压RAR文件),以及处理某些格式的特定属性,例如ZIP文件的密码保护或TAR文件的长路径名。 5. **与其他库...
除了基本的压缩和解压缩功能,Commons Compress 还提供了对一些高级特性的支持,如存档的创建、更新和遍历,以及文件和目录的过滤。例如,你可以创建一个新的tar存档,并添加指定的文件或目录,然后写入到输出流: ...
3. 应用安装包:许多Java应用程序会使用Common Compress来打包和解包资源。 4. 日志处理:压缩日志文件,降低存储成本。 六、版本更新与兼容性 Common Compress持续更新,以修复已知问题和增加新特性。如我们所见...
虽然在“commons-codec-1.6-bin.tar.gz”中并未直接包含BZip2的功能,但在其他Apache组件如Apache Commons Compress中可以找到相关实现。 6. **Phonetic编码**:如Soundex、Metaphone和Caverphone等,这些是将英语...
在IT行业中,文件的压缩和解压是一项基本操作,尤其在数据传输、存储优化和程序打包等方面广泛应用。这里我们关注的是“文件解压和压缩”以及处理“中文乱码”的问题。在Java编程语言中,提供了多种库和工具来处理...
- `Base64`: 实现了Base64编码和解码,广泛应用于网络传输和数据存储。 7. **实用工具**: - `TempFileUtils`: 创建临时文件和目录,确保它们在不再使用时被正确删除。 - `SystemUtils`: 提供了关于运行时环境的...
`commons-compress-1.21.jar`:Apache Commons Compress库提供了多种压缩算法,POI使用它来处理OOXML文件中的ZIP压缩。 `commons-collections4-4.4.jar`:Apache Commons Collections库提供了各种集合框架的增强...
commons-compress 操作压缩文件的 API commons-configuration 可以从xml、properties、JNDI、JDBC、System properties、Applet parameters和Servlet parameters等读取信息 commons-daemon 可以帮你实现将一个普通...
commons-compress 操作压缩文件的 API commons-configuration 可以从xml、properties、JNDI、JDBC、System properties、Applet parameters和Servlet parameters等读取信息 commons-daemon 可以帮你实现将一个普通...
Apache Commons Compress库为Java开发者提供了一站式的解决方案,无论是处理常见的ZIP和GZIP格式,还是处理一些不太常见的格式,都能轻松应对。通过利用这个库,开发者可以专注于他们的核心业务逻辑,而不是花费时间...
"commons-jar" 是一个与Java相关的开源项目,它的核心是Apache Commons库的一部分,这个库主要关注于提供一些通用的Java组件和工具,方便开发者在处理JAR(Java Archive)文件时能更加高效和便捷。Apache Commons是...
本站为大家提供了org.apache.commons的jar包下载地址,Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动,需要此类JAR包的朋友们欢迎前来下载使用。 基本简介 commons包,根据...