- 浏览: 189546 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
elena_me:
o0teamo0o 写道您的这个 缺少了一个StringUti ...
银联生成ARQC,ARPC,MAC,CVN生成 -
lemonhou:
按照要求改了,还是报一样的错
The Maven Integration requires that Eclipse be running in a JDK -
o0teamo0o:
您的这个 缺少了一个StringUtils工具类,能提供一下么 ...
银联生成ARQC,ARPC,MAC,CVN生成 -
306963591:
附件密码123456
银联生成ARQC,ARPC,MAC,CVN生成 -
lz_cleaner:
虽然有点老了,可还是谢谢你的分享。。。。
jira手册
注意:
1:使用jdk自带的zip的util的工具类实现解压zip文件,会出现中文文件名称乱码的问题,apache的zip的工具类改正了这个问题。
2:使用apache的zip的工具类,编码方式和项目的编码方式有关系,若你的项目使用的是utf-8的字符编码,则按照utf-8的方式解压缩,或你的工程的字符编码是gbk的项目编码,则按照字符集为gbk的项目编码来进行解压缩
,对于这个字符编码问题,我在写项目中亲自过.
3:若用apache的zip类库,来实现压缩或是解压缩,则还是出现文件名称乱码问题,这就需要手动设置字符编码啦。
程序代码如下:
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.log4j.Logger; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; /** * @author Sandy * @version $Revision: 1.1 $ 建立日期 2011-7-2 */ public class ZipFileUtil { private static final Logger logger = Logger.getLogger(ZipFileUtil.class); private static ZipOutputStream zipOut; private static int bufSize; private static byte[] buf; private static int readBytes; private static final String _GBK = "gbk"; static { bufSize = 1024; buf = new byte[bufSize]; } /** * 压缩文件 * * @param zipDirectory * @param destFileName */ public static void doZip(String zipDirectory, String destFileName) { File zipDir = new File(zipDirectory); File destFile = new File(destFileName); try { zipOut = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(destFile))); zipOut.setEncoding(_GBK); handleDirectory(zipDir, zipOut); zipOut.close(); logger.info("压缩文件成功..........."); } catch (IOException ex) { logger.error("压缩文件出错:" + ex.getMessage()); } } // call by doZip private static void handleDirectory(File dir, ZipOutputStream zipOut) throws IOException { FileInputStream input; File[] files = dir.listFiles(); if (files.length == 0) { zipOut.putNextEntry(new ZipEntry(dir.toString() + "/")); zipOut.closeEntry(); } else { for (File sourceFile : files) { if (sourceFile.isDirectory()) { handleDirectory(sourceFile, zipOut); } else { input = new FileInputStream(sourceFile); zipOut.putNextEntry(new ZipEntry(sourceFile.getName())); while ((readBytes = input.read(buf)) > 0) { zipOut.write(buf, 0, readBytes); } zipOut.closeEntry(); } } } } public static void unZip(String unZipfileName, String targetfolder) { FileOutputStream output; File file; InputStream input; ZipFile zipFile; try { zipFile = new ZipFile(unZipfileName, _GBK); for (Enumeration<?> entries = zipFile.getEntries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry) entries.nextElement(); file = new File(targetfolder, entry.getName()); if (entry.isDirectory()) { file.mkdirs(); } else { File parent = file.getParentFile(); if (!parent.exists()) { parent.mkdirs(); } input = zipFile.getInputStream(entry); output = new FileOutputStream(file); while ((readBytes = input.read(buf)) > 0) { output.write(buf, 0, readBytes); } output.close(); input.close(); } } zipFile.close(); logger.info("解压文件成功..........."); } catch (IOException ex) { logger.error("解压文件["+unZipfileName+"]出错:" + ex.getMessage()); } } public static void main(String[] args) throws Exception { // ZipFileUtil.doZip("D:\\unzipDir", "D:\\targetZip\\organ.zip"); ZipFileUtil.unZip("D:\\ziptest\\ziptest.zip", "D:\\unzipDir"); } }
发表评论
-
根据文件中jar地址生成jar
2011-08-18 10:22 1031import java.io.File; import ja ... -
插入clob数据(template data)
2011-05-12 12:32 1804package com.icitic.iccard.dp.te ... -
DP判断取多少字节根据银联
2011-05-12 12:26 1323/** * */ package com.icit ... -
java类的初始化
2011-03-17 15:06 1025类的初始化时机: 1:创建类的实例。 2: 访问某个类或接 ... -
dom4j解析xml
2010-12-02 17:11 2538package com.gd.xml.parse; im ... -
java实现分页
2010-11-30 21:15 2185平时我们用到的分页程序主要有两种分页方式: 1:用数据库进行 ... -
使用SAX解析xml文件
2010-11-29 21:29 1369通常解析xml文件我们主要用到的时候利用第三方的jar包如:j ... -
解决Struts2中表单提交到action时的中文乱码
2010-11-20 15:21 5260在struts2的开发过程中出现乱码的情况如下: 1:jsp ... -
Eclipse反编译插件: Jodeclipse与JadClipse
2010-11-03 12:20 1161Jodeclipse 是Jode的Eclipse插件,JadC ... -
java.util.logging日志功能使用
2010-09-17 15:37 1357Java Logging API是sun公司于2002年5月正 ... -
Java异常处理
2010-09-14 17:20 1306一、Java中异常概述 1.1J ... -
JVM的结构
2010-09-07 09:46 869JVM的结构 从功能上分,Java虚拟机主要由六个 ... -
System.getProperty()参数大全
2010-09-06 21:08 696java.version ... -
hibernate缓存
2010-09-06 20:30 674很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇 ... -
深入探讨 Java 类加载器
2010-09-06 16:56 760简介: 类加载器(class ... -
ClassLoader加载类的路径问题
2010-09-06 16:43 1537有的时候我们需要读取文件,文件的路径若写死了,当我们上线的时候 ... -
Thread匿名内部类为什么 必须声明为final变量?
2010-09-06 15:09 3242匿名内部类实用定义在外部的变量,该变量必须是final类型1: ... -
使用正则表达式抓取页面Email
2010-09-05 18:57 1246当我们做广告的时候,有的时候需要给很多匿名用户发Email来实 ... -
java定时器Timer,TimerTask每隔一段时间随机生成数字
2010-09-05 11:09 142741:java.util.Timer类是一种工具,线程用其安排以 ... -
Scanner读取文件和StringBuffer读取文件
2010-09-05 10:20 9149Scanner扫描器读取文件注意事项: 1:Scan ...
相关推荐
在Java编程环境中,解压ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包或系统集成时。本实例将向你展示如何使用Java API来实现这一功能。请注意,这个过程假设你的ZIP文件是通过正常的方式创建的,即使用...
在这个场景中,我们关注的是如何使用Java来实现文件压缩包的上传以及在服务器上的解压缩。Java作为一种强大的编程语言,提供了丰富的库来支持这样的操作,特别是在涉及到SFTP(Secure File Transfer Protocol)时,...
在Java编程环境中,处理压缩和解压缩文件是一项常见的任务,特别是在数据存储、文件传输和备份等领域。本项目专注于使用Java实现带密码保护的ZIP文件的压缩和解压功能。这是一项安全措施,允许用户对敏感文件进行...
虽然Ant不直接用于解压缩文件,但可以与Java代码结合使用,例如通过Ant任务来调用`CompressFileUtils`进行解压缩操作。Ant提供了一系列的任务,如`unzip`,可以直接在构建脚本中用于解压缩文件。 至于标签“文件解...
3. **解压缩文件** 解压ZIP文件则需要一个`ZipInputStream`实例,它包装在一个`FileInputStream`中,指向ZIP文件。通过调用`getNextEntry`方法,你可以逐个访问ZIP文件中的每个条目,然后创建相应的文件或目录,将...
本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种广泛使用的文件归档格式,它可以将多个文件和目录组合成一个单一的可压缩文件,方便存储和传输。在Java中...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对...`UnZip.java`和`UnZip2.java`文件可能是这种功能的具体实现,通过阅读它们的源代码,可以深入了解Java解压ZIP文件的各种策略和技巧。
3. **解压zip文件**:对于每个找到的zip文件,创建`ZipInputStream`对象,然后逐个处理`ZipEntry`。对于每个条目,创建相应的输出流(如`FileOutputStream`),并将`ZipInputStream`中的数据写入到输出流,完成解压...
这个库简化了在Java中处理压缩文件的过程,提供了丰富的API供开发者使用。 首先,我们来看`FileUtils.java`中的主要方法。通常,这个类会包含两个核心功能:`zipFiles()`用于创建ZIP包,`unzipFile()`用于解压ZIP包...
- **解压缩文件**:使用`unzip()`方法可以解压缩整个Zip文件,或者通过`extractFile()`或`extractFolder()`方法提取指定的文件或目录。 - **加密**:`zip4j`支持AES 128/256位加密,你可以设置密码保护Zip文件,...
### JAVA解压ZIP多层目录文件(需ant.jar) #### 概述 本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip....
总的来说,解压缩ZIP和RAR格式的文件在Java中可以通过标准库或第三方库轻松实现,理解并掌握I/O流和压缩流的使用是关键。在开发过程中,确保代码的健壮性和灵活性,同时考虑性能优化,例如批量解压缩、多线程处理等...
当需要向已存在的ZIP文件追加文件时,首先使用`ZipUtil`解压缩ZIP文件到一个临时目录,然后在该目录中添加新的文件,最后重新压缩整个目录并覆盖原有的ZIP文件。以下是大致的步骤: - 使用`ZipUtil`的`unzip`方法...
使用`java.util.zip`包中的`ZipInputStream`和`ZipEntry`类,可以读取并解压ZIP文件。以下是一个基本的解压流程: - 创建`ZipInputStream`实例,传入文件输入流。 - 循环遍历`ZipInputStream`的`ZipEntry`,获取...
Java自动解压缩文件是编程领域中的一个重要话题,尤其是在服务器端应用中,经常需要处理上传的压缩文件并进行解压操作。Java提供了丰富的API来支持这一功能,主要涉及到`java.util.zip`包中的类,如`ZipInputStream`...
总之,Java提供了解压缩和压缩文件的基本工具,对于ZIP格式,可以通过`java.util.zip`包轻松实现;而对于RAR格式,可以利用第三方库,如Apache Commons Compress。理解并熟练运用这些工具,将有助于开发出能够处理...
在给定的压缩包文件中,包含了一个名为"JAVA解压ZIP格式的压缩包.docx"的文档,这可能是对解压过程的详细说明或补充信息。在实际操作中,你可以将上述代码与这个文档结合,以获得更深入的理解和实践指导。
在Java编程中,处理压缩文件,如ZIP格式的文件,是一项常见的任务。本文将深入探讨如何使用Java来获取ZIP文件的名称以及如何高效地解压缩这些文件,特别是通过多线程来提高性能。 首先,我们需要引入Java的内置库`...
沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...