有没有人有使用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对我来说也更有意义。
发布于 2010-08-30 17:17:36
在我的应用程序中,我必须添加
de.schlichtherle.io.File.umount(zipFile);作为查看结果的最后一条语句,似乎(至少是某些版本的) truezip缓存了整个zip,并仅在umount方法期间将其写入磁盘。
HTH
https://stackoverflow.com/questions/2967033
复制相似问题