JDK7相比JDK6已经解决了ZipOutputStream乱码的问题

解决ZipOutputStream压缩中文乱码问题,无非是两种方法:第一种就是改JDK源码, 把ZipOutputStream拷贝出来,修改下编码;第二种就是用apache-ant;这里介绍一种最简单的办法,不用改源代码,也不用换apache-ant,上面这两种办法出现中文乱码的问题都是基于JDK6,但是在JDK7中已经解决了,只要把JDK版本升到7就可以。从两个版本的源码比较就知道了:

JDK6u21的ZipOutputStream.java的源码片段:

小Q截图-20150819160005.png

JDK7u65的ZipOutputStream.java的源码片段:

小Q截图-20150819160104.png

从JDK6版本中可以看出,只有一个带OutputStream参数的构造方法,并且没有传入字符集,而JDK7版本中的有两个构造方法,一个是带 OutputStream和Charset的构造方法,另外一个就是重载,只有一个OutputStream,默认字符集UTF-8。

土豪请注意: 如果您觉得此文有帮助,可以给支付宝账户zuiyanwangyue@126.com转账进行打赏(可扫描右侧二维码),您的捐助将被用于完善此网站的功能和内容。
加入我们团队: 如果你是技术控并且愿意分享自己掌握的知识,欢迎加入我们团队,请联系QQ:421712311 如本文未能解决您面临的问题,也欢迎随时和我联系以便进一步探讨。

评论列表[0]