Java压缩解压zip文件的中文文件名在Windows和Linux环境下乱码问题的解决方案

阅读更多
利用ant包下的ZipFile和ZipOutputStream进行压缩和解压文件时,如果不指定编码方式,会以系统默认的编码方式进行处理
由于Windows(中文版)系统默认的编码方式是GBK,故Ant采用默认的编码方式处理时,Windows能正常处理Zip文件中包含有中文名称的文件。
而Linux系统默认的编码方式是UTF-8,此时ANt再采用默认的编码方式处理,就不能正常处理。
解决方案是通过设置Ant的默认编码方式,统一设置UTF-8即可,可以设置如下代码:zipFile.setEncoding("UTF-8")和zipOutputStream.setEncoding("UTF-8")

你可能感兴趣的:(zip,zipfile,zipoutputstream)