代码之家  ›  专栏  ›  技术社区  ›  CJS

TrueZip递归解压?

  •  2
  • CJS  · 技术社区  · 16 年前

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

    (我之所以使用TrueZip是因为 encoding foreign character bug 在爪哇。util。压缩方法)

    看看API,似乎是这个文件。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。阿帕奇。工具。zip以提取文件名中包含非ASCII字符的文件。这个API对我来说也更有意义。。。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Riduidel    13 年前

    在我的申请表中,我必须添加

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

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

    嗯