请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!相关的知识,希望对你有一定的参考价值。

乱码,是因为用winRAR打开那个zip文件,文件名出现乱码,请问怎样解决?

没做过压缩程序,JAVA里面的字符串使用的编码为unicode,ZIP文件里面用的应该是本地编码(中文操作系统用的是GB2312)。

你可以尝试着用类似这样的语句:String str = ( otherStr.getBytes("GB2312") );

祝好运。
参考技术A JAVA中有 GZIPOutputStream 类,用OutputStream构造,然后调用期write()方法就行 参考技术B 最近刚做过一个 解压缩JAR 的确有这样的问题 .
你可以通过 编码压缩使用
entryName = new String(entryName.getBytes("gb2312"),"ISO8859_1");
解压时使用
jarName = new String(jarName.getBytes("ISO8859_1"),"gb2312");
可以解决问题

以上是关于请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!的主要内容,如果未能解决你的问题,请参考以下文章

C++程序编写压缩器/解压器(长度-游程编码的压缩/解压+霍夫曼编码压缩/解压 (霍夫曼树))

压缩包里的exe不能打开

z01,z02等文件如何解压打开

z01,z02等文件如何解压打开

用Java制作打rar压缩包程序

java窗体程序 打包jar后 怎么动态修改xml配置信息,请问哪位大神会啊