`
jwin
  • 浏览: 27061 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

zip压缩文件中文乱码的解决

    博客分类:
  • 2006
阅读更多
使用java.util.zip下的类进行zip压缩,它使用的是uft-8的编码方式,这样会引起中文名变成乱码的情况,解决的方法是用truezip.jar下的类,truezip的相关介绍和下载见https://truezip.dev.java.net/
import java.io.File;
import java.io.IOException;

import org.apache.commons.io.CopyUtils;

import de.schlichtherle.io.FileInputStream;
import de.schlichtherle.io.FileOutputStream;
import de.schlichtherle.util.zip.ZipEntry;
import de.schlichtherle.util.zip.ZipOutputStream;

public class Test
{
	public static void main(String []args); throws Exception
	{
		String needtozipfilepath ="";
		String zipfilepath = "";
		File needtozipfile = new File(needtozipfilepath);;
		File zipfile = new File(zipfilepath);;
		FileOutputStream fout = new FileOutputStream(zipfile);;
		ZipOutputStream zout = new ZipOutputStream(fout,"GBK");;   //解决中文问题的关键所在
		try
		{
			for(File in : needtozipfile.listFiles(););
			{
				ZipEntry ze = new ZipEntry(in.getName(););;
				zout.putNextEntry(ze);;
				FileInputStream fis = new FileInputStream(in);;
				try
				{
					CopyUtils.copy(fis,zout);;							
				}
				catch (IOException e);
				{
					// TODO: handle exception
				}
				finally
				{
					if(fis != null);
						fis.close();;
					zout.closeEntry();;
				}				
			}
		}
		catch (IOException e);
		{
			// TODO: handle exception
		}
		finally
		{
			if(zout != null);
			{
				zout.close();;
				fout.close();;
			}
		}
		
	}
}
分享到:
评论

相关推荐

    java压缩zip文件解决中文乱码问题

    zipEntry.setComment("压缩文件"); // 可以添加注释,同样需要指定字符集 zos.putNextEntry(zipEntry); try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { byte[] buffer...

    java android zip解压缩(解决压缩中文乱码问题)

    然而,当压缩文件包含中文字符时,解压缩过程中可能会遇到乱码问题。这是因为编码格式不匹配或者处理方式不当导致的。本篇文章将深入探讨如何在Android平台上解决Java ZIP库在解压缩中文文件时出现的乱码问题。 ...

    JDK ZipEntry压缩中文文件名乱码解决

    项目中碰到问题.jdk zipEntry 压缩中文文件名乱码  上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项.  第二种 就是拿来主义,因为 开源项目 Ant 里已经有...

    解决java压缩zip文件时的中文乱码问题(包含jar包和工具类)

    解决java压缩zip文件时的中文乱码问题 实现:java压缩文件成zip实现无乱码。 包括:写好的工具类与jar包。 使用方法:导入ant.jar包,调用CompressExcelOperate中的方法,即可实现压缩文件,并保证没有中文乱码...

    SharpCompress 解压缩zip,rar文件,解决中文乱码

    本文将深入探讨如何使用SharpCompress这一开源库来处理ZIP和RAR文件,并解决在处理中文文件名时可能出现的乱码问题。 SharpCompress是一款强大的、跨平台的压缩库,支持多种压缩格式,包括ZIP、TAR、GZIP、BZIP2、7...

    java zip压缩解压工具解决中文乱码问题

    在Java编程中,处理压缩和解压缩ZIP文件是一项常见的任务,尤其当文件中包含中文字符时,可能会遇到中文乱码的问题。这是因为Java的标准库在处理非ASCII编码时可能存在不足。本篇文章将详细介绍如何使用Java标准库...

    zip库(解决文件名中文乱码问题).zip

    在IT行业中,文件处理是日常工作中不可或缺的一部分,尤其是在涉及到压缩文件如ZIP时。"zip库(解决文件名中文乱码问题).zip" 提供了一个针对C++编程语言的解决方案,专门用于处理ZIP文件中中文文件名的乱码问题。这...

    文件解压和压缩 解决中文乱码

    这里我们关注的是“文件解压和压缩”以及处理“中文乱码”的问题。在Java编程语言中,提供了多种库和工具来处理这些问题。 首先,`CompresszZipFile`是一个可能的自定义类或方法,它专门用于处理ZIP文件的解压。在...

    ZipOutputStream 压缩文件以及乱码问题解决方案

    在IT行业中,文件压缩是一种常见的数据存储和传输方式,ZipOutputStream是Java标准库中的一个类,用于将数据流写入ZIP格式的压缩文件。本文将深入探讨如何使用ZipOutputStream进行文件压缩,并解决可能出现的乱码...

    ZipUtil文件压缩工具类(解决中文乱码)

    总之,`ZipUtil`文件压缩工具类通过结合`ZipEntry`和`ZipOutputStream`,提供了一种高效且健壮的解决方案,尤其适合处理包含中文字符的文件和目录,确保在压缩和解压过程中不会出现乱码问题。这对于需要在Java应用...

    ICSharpCode.SharpZipLib压缩解决中文乱码dll和代码

    在处理包含中文字符的压缩文件时,如果编码设置不正确,可能会导致解压缩后的文件出现乱码。这是因为不同的编码方式对非ASCII字符的表示方式不同,如GBK和UTF-8。当压缩或解压缩时,如果不指定正确的编码,程序可能...

    解压zip压缩文件,支持多文件目录解压,中文乱码问题

    在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...

    ZIP压缩和解压类

    - 压缩文件:对每个文件调用压缩算法,将结果写入ZIP流。 - 关闭ZIP流:完成压缩后关闭文件流。 - 解压文件:读取ZIP文件的中央目录,逐个解压缩数据块并写入目标目录。 五、调用示例 在Python中,可以使用`...

    解压文件时中文乱码问题处理

    在IT行业中,中文乱码问题是一个常见的困扰,尤其是在处理压缩文件时。本文将详细探讨如何在使用7-Zip软件解压文件时解决中文乱码问题,以及如何在C#编程环境中处理这一问题。 首先,我们需要了解乱码产生的原因。...

    zip解压缩乱码的解决方案

    在IT行业中,我们经常需要处理各种文件格式,其中ZIP是一种常见的压缩文件格式,用于整合多个文件到一个单一的档案中,以节省存储空间和便于传输。然而,当我们在解压缩ZIP文件时,有时会遇到“乱码”的问题,这通常...

    java压缩zip文件中文乱码问题解决方法

    Java在处理包含中文字符的压缩文件时,可能会遇到中文乱码的问题。这主要涉及两个方面:内容的中文乱码和压缩文件注释的中文乱码。以下是对这两个问题的详细解释以及解决方法。 1. 内容的中文乱码问题: 当Java...

    用java对文件进行压缩并且解决乱码问题

    `ZipOutputStream`是Java标准库中的一个类,它继承自`FilterOutputStream`,用于创建ZIP格式的压缩文件。当我们使用这个类进行文件压缩时,可能会遇到乱码问题,主要是因为编码设置不当导致的。下面我们将详细探讨...

    Java ZIP压缩一个或多个文件(解决中文名称乱码).rar

    用java.util.zipoutputstream压缩会出现中文的文件名乱码的情况,且无法设置字符集,这个版本用org.apache.tools.zip.ZipOutputStream压缩,可以自定义字符集,解决中文的文件名乱码问题。

    读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码(还是以支付宝对账单为例)

    ZIP是一种广泛使用的文件存档格式,它允许将多个文件和目录打包成一个单一的压缩文件,以节省存储空间和提高传输效率。ZIP文件内部包含了文件的原始数据以及元数据,如文件名、日期时间戳等。 在Java或Python等编程...

    java解决压缩中文乱码

    File targetFile = new File("目标压缩文件.zip"); try (FileOutputStream fos = new FileOutputStream(targetFile); UTF8ZipOutputStream zipOut = new UTF8ZipOutputStream(fos)) { addFilesToZip(sourceDir, ...

Global site tag (gtag.js) - Google Analytics