TrueZip递归解压缩?

时间:2010-06-03 14:48:03

标签: java zip unzip truezip

有没有人有使用TrueZip java库的经验?我正在尝试做一个简单的任务,解压缩包含子文件夹的存档,到目前为止我还无法让它工作。

(我使用TrueZip的原因是因为java.util.zip方法中的encoding foreign character bug

看看API,似乎file.archiveCopyAllTo()是他们的“解压缩”方法。但是,以下代码仅在我的存档是平面且仅包含文件时才有效。如果有任何子文件夹,它将失败。

private static void testUnzip(String zipPath, File unzipFolder) 
{
    de.schlichtherle.io.File zipFile = new de.schlichtherle.io.File(zipPath);
    boolean result = zipFile.archiveCopyAllTo(unzipFolder);
    System.out.println("UNZIP RESULT: " + result);
}

或者,如果有人知道用文件名中的可能非ASCII字符解压缩档案的不同方法,那也会很棒...谢谢!

编辑: 我已经放弃使用TrueZIP。我能够使用org.apache.tools.zip来提取文件名中包含非ASCII字符的文件。那个API对我来说也更有意义......

1 个答案:

答案 0 :(得分:1)

在我的应用程序中我必须添加

de.schlichtherle.io.File.umount(zipFile);

作为查看结果的最后一个语句,似乎(至少某些版本)truezip缓存整个zip并仅在umount方法中将其写入光盘。

HTH