我使用java.util.zip包在java中有一个简单的提取方法。
编辑:作为一个注释,我需要在java 1.5中运行代码,因为它必须在oracle数据库中作为java存储过程运行。
它已经工作了很长一段时间但是最近我遇到了一个bug,当我试图提取一个包含名称中的西班牙语特殊字符的zip文件以及其中包含西班牙语特殊字符的文件时。
代码失败
ZipEntry entry = zis.getNextEntry();
这是由于特殊字符吗?我已经验证了zip没有损坏,并且已经在名称中包含特殊字符的其他拉链上进行了测试,并且已经验证它会导致相同的错误。
最后,如果是这种情况,是否有解决方法?
答案 0 :(得分:3)
在Java 7中,您可以使用ZipFile(File, Charset)表示字符编码。
答案 1 :(得分:0)
我发现org.apache.commons有一个压缩类,它有很多不同的选项。它允许您指定编码参数,以便它现在可以接受来自不同语言的字符。