1:jar包
commons-compress-1.0.jar
commons-io.jar
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.io.IOUtils;
2:代码片段:
ZipArchiveInputStream zais = new ZipArchiveInputStream(zipFileForm.getInputStream(), "GBK", true);
ArchiveEntry archiveEntry = null;
while((archiveEntry = zais.getNextEntry()) != null) {
//获取文件名
String entryFileName = archiveEntry.getName();
//只处理包中的*.xls文件
if(!entryFileName.endsWith(".xls")){
continue;
}
// 把解压后的数据写到内存数组中.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtils.copy(zais, baos);
//把解压后的内存数组与ByteArrayInputStream关联
ByteArrayInputStream oneUnzipedIS = new ByteArrayInputStream(baos.toByteArray());
}
分享到:
相关推荐
总结来说,处理Java中ZIP文件的中文乱码问题,关键在于明确指定字符集,通常是UTF-8,无论是使用Java内置的API还是第三方库。同时,理解文件系统的编码和压缩/解压过程中的字符编码转换也非常重要。通过这种方式,...
解决java压缩zip文件时的中文乱码问题 实现:java压缩文件成zip实现无乱码。 包括:写好的工具类与jar包。 使用方法:导入ant.jar包,调用CompressExcelOperate中的方法,即可实现压缩文件,并保证没有中文乱码...
在Java编程中,处理压缩和解压缩ZIP文件是一项常见的任务,尤其当文件中包含中文字符时,可能会遇到中文乱码的问题。这是因为Java的标准库在处理非ASCII编码时可能存在不足。本篇文章将详细介绍如何使用Java标准库...
本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 首先,我们要明白乱码问题的根源。在文件的压缩和解压缩过程中,文件名通常被编码为字节序列,这个序列取决于原始文件名...
总之,解决Java压缩ZIP文件中文乱码问题的关键在于使用支持设置编码的第三方库,并在处理中文内容和注释时明确指定正确的字符编码。这样,无论在何种编码环境中,都能确保中文字符正确无误地被压缩和解压。
网上很多描述java解压中文乱码的问题,很多描述不全.由于工作需要整理出一个完整版.简单实用.下载后请从ZipUtil.java的main方法开始,一目了然. public static void main(String args[]) { new ZipUtil().unZip("E:\\...
这里我们关注的是“文件解压和压缩”以及处理“中文乱码”的问题。在Java编程语言中,提供了多种库和工具来处理这些问题。 首先,`CompresszZipFile`是一个可能的自定义类或方法,它专门用于处理ZIP文件的解压。在...
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
当需要向已存在的ZIP文件追加文件时,首先使用`ZipUtil`解压缩ZIP文件到一个临时目录,然后在该目录中添加新的文件,最后重新压缩整个目录并覆盖原有的ZIP文件。以下是大致的步骤: - 使用`ZipUtil`的`unzip`方法...
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
本篇文章将详细探讨如何使用Java内置的类库来实现ZIP文件的压缩和解压缩,以及解决中文文件名出现乱码的问题。 首先,我们要了解Java中处理ZIP文件的核心类:`java.util.zip.ZipOutputStream` 和 `java.util.zip....
在IT行业中,文件压缩是一种常见的数据存储和传输方式,ZipOutputStream是Java标准库中的一个类,用于将数据流写入ZIP格式的压缩文件。本文将深入探讨如何使用ZipOutputStream进行文件压缩,并解决可能出现的乱码...
以下将详细阐述如何解决Java压缩中文乱码问题。 首先,我们要理解为什么会出现乱码。在Java中,`java.util.zip`类库使用的是默认的平台字符集,而不是通用的Unicode(UTF-8)编码。因此,如果源文件包含中文字符且...
此外,`ZipUtil`类可能还包含其他实用功能,比如解压缩ZIP文件,检查ZIP文件是否存在中文乱码,或者提供配置选项以自定义压缩级别、是否保留原文件的最后修改时间等。 总之,`ZipUtil`文件压缩工具类通过结合`Zip...
总的来说,使用Java的`ZipOutputStream`进行文件压缩时,必须注意文件名和路径的正确编码,以避免乱码问题。通过使用合适的编码方式(如UTF-8)并在`ZipOutputStream`构造函数中明确指定,可以确保在跨平台操作时...
总结来说,Java中使用Apache Commons Compress库进行ZIP文件操作,不仅提供了更丰富的功能,如设置字符编码,还能有效处理中文等非ASCII字符,保证了在处理多语言环境下的文件时不会出现乱码问题。通过上述方法,...
这就可能导致在Java中解压包含非ASCII字符(如中文)的ZIP文件时出现问题。 Java的`java.util.zip`包提供了对ZIP文件的支持,包括`ZipInputStream`和`ZipOutputStream`类用于读写ZIP文件,以及`ZipEntry`类来代表...
此外,如果你在其他Java压缩库或API中遇到类似问题,可以考虑采用类似的方法,即明确指定编码方式,比如在使用`java.util.zip`时,可以使用`ZipOutputStream`的`setEncoding()`方法来指定编码。但是,通常情况下,...
然而,当我们在解压缩ZIP文件时,有时会遇到“乱码”的问题,这通常是由于编码不兼容或者设置不当导致的。本文将深入探讨ZIP解压缩乱码的解决方案,帮助你解决这个问题。 1. **理解字符编码** - 字符编码是计算机...
本文将深入探讨如何在不解压的情况下直接读取ZIP文件,并特别关注如何处理包含中文文件名和内容乱码的问题。我们将以支付宝对账单为例,因为这类文件通常包含大量敏感和重要的财务信息,正确地读取和解析它们至关...