zoukankan      html  css  js  c++  java
  • Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    学习了:http://www.tuicool.com/articles/V7BBvy

     引用原文:

    JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的
    
    zip文件打开时发现中文文件名变成乱码.
    
    解决的方法是使用apache-ant-zip.jar包(见附件)中的ZipOutputStream和ZipEntry.
    
    即,导入类:
    
    import org.apache.tools.zip.ZipEntry; 
    
    import org.apache.tools.zip.ZipOutputStream;
    
    并且注意,压缩之前调用 ZipOutputStream的out.setEncoding(System.getProperty("sun.jnu.encoding")); 方法,
    
    系统参数sun.jnu.encoding表示获取当前系统中的文件名的编码方式.这里将ZipOutputStream的文件名编码方式
    
    设置成系统的文件名编码方式.
    
    解压时,直接使用JDK原来的ZipInputStream即可.
    
    但是有个 需要注意 的地方是,在读取ZIP文件之前,需要设置:
    
    System.setProperty("sun.zip.encoding", System.getProperty("sun.jnu.encoding"));
    
    将系统的ZIP编码格式设置为系统文件名编码方式,否则解压时报异常.
    
    (网上,还有修改ZipInputStream源码的方式貌似太麻烦了,参考:http://zwllxs.iteye.com/blog/871260)
    
    ZIP代码参考http://szhnet.iteye.com/blog/199059,有修改.
  • 相关阅读:
    property 中的strong 与weak
    ios5 StoryBoard
    PLINQ中的分区
    ZOJ3704 I am Nexus Master! 模拟
    POJ1470 Closest Common Ancestors TarjanLCA
    XTU1170 Coin 线段树
    HDU2586 How far away ? LCATarjan Or spfa
    CF#303C Minimum Modular 数学分析
    CF#303B Rectangle Puzzle II 数学分析
    ZOJ3698 Carrot Fantasy 恶心模拟
  • 原文地址:https://www.cnblogs.com/stono/p/6736329.html
Copyright © 2011-2022 走看看