0

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

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

它已经完美运行了一段时间,但最近我在尝试提取名称中包含西班牙特殊字符的 zip 文件和其中包含西班牙特殊字符的文件时遇到了一个错误。

代码失败

 ZipEntry entry = zis.getNextEntry();

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

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

4

2 回答 2

3

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

于 2012-12-10T14:54:48.897 回答
0

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

于 2012-12-13T19:30:33.347 回答