Есть ли у кого-нибудь опыт работы с библиотекой Java TrueZip? Я пытаюсь сделать то, что должно быть простой задачей, расстегивая архив, содержащий вложенные папки, и до сих пор мне не удалось заставить его работать.TrueZip Recursive Unsipping?
(Причина я использую TrueZip из-за encoding foreign character bug в методах java.util.zip)
Глядя на 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 в именах файлов, что было бы здорово тоже ... спасибо!
EDIT: Я отказался от использования TrueZIP. Я смог использовать org.apache.tools.zip для извлечения файлов с именами, отличными от ASCII, в именах файлов. Это API имеет больше смысла для меня тоже ...
ugh, у них есть свой класс файлов? Это смутило бы меня до смерти. –
Вы можете попробовать этот 'zipFile.archiveCopyAllTo (unzipFolder, ArchiveDetector.DEFAULT, ArchiveDetector.NULL);' – cubanacan
Если это не поможет, то вы должны использовать версию TrueZIP 6 или более поздней версии, которая автоматически распаковывает только ваш код. – cubanacan