java压缩乱码

互联网 19-11-15

java压缩乱码

通常用java来打包文件生成压缩文件后会出现内容的中文乱码问题,这个问题网上很多人给出了解决方法,主要有两种方法:

一是修改sun的源码;

二是使用开源的类库org.apache.tools.zip.ZipOutputStreamorg.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以直接下载使用即可。

毫无疑问,选择后者更方便,org.apache.tools.zip.ZipOutputStream默认使用项目的编码方式,理论上讲utf-8也是支持中文的,若还是乱码,通过setEncoding方法改成gbk即可解决

示例代码如下:

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;  import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream;  public class CompressEncodingTest {     /**      * @param args      * @throws Exception      */     public static void main(String[] args) throws Exception {         File f = new File("中文测试.txt");         ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(             new FileOutputStream("zipTest.zip"), 1024));         zos.putNextEntry(new ZipEntry("中文.txt"));         DataInputStream dis = new DataInputStream(new BufferedInputStream(             new FileInputStream(f)));         zos.putNextEntry(new ZipEntry(f.getName()));         int c;         while ((c = dis.read()) != -1) {             zos.write(c);         }          zos.setEncoding("gbk");         zos.setComment("中文测试");          zos.closeEntry();         zos.close();     } }

php中文网,大量的免费Java入门教程,欢迎在线学习!

以上就是java压缩乱码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 压缩乱码
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java自定义错误异常

相关资讯