用不同语言的zip文件进行zip提取

时间:2012-12-10 14:46:27

标签: java

我使用java.util.zip包在java中有一个简单的提取方法。

编辑:作为一个注释,我需要在java 1.5中运行代码,因为它必须在oracle数据库中作为java存储过程运行。

它已经工作了很长一段时间但是最近我遇到了一个bug,当我试图提取一个包含名称中的西班牙语特殊字符的zip文件以及其中包含西班牙语特殊字符的文件时。

代码失败

 ZipEntry entry = zis.getNextEntry();

这是由于特殊字符吗?我已经验证了zip没有损坏,并且已经在名称中包含特殊字符的其他拉链上进行了测试,并且已经验证它会导致相同的错误。

最后,如果是这种情况,是否有解决方法?

2 个答案:

答案 0 :(得分:3)

在Java 7中,您可以使用ZipFile(File, Charset)表示字符编码。

答案 1 :(得分:0)

我发现org.apache.commons有一个压缩类,它有很多不同的选项。它允许您指定编码参数,以便它现在可以接受来自不同语言的字符。