2011-03-16 2 views

ответ

4

Я рекомендую использовать TrueZIP. Это действительно хорошо.

TrueZIP - это платформа для виртуальных файловых систем и библиотека для доступа к архивным файлам, как если бы они были просто старыми каталогами.

В качестве основы TrueZIP предоставляет интерфейсы и классы для записи драйверов файловой системы, которые подключаются к объему объединенной файловой системы.

В качестве библиотеки TrueZIP обеспечивает удобный многопоточный доступ для чтения/записи к архивным файлам, как если бы они были просто старыми каталогами в пути к файловой системе.

Это отличная, быстрая библиотека. Он имеет TAR drivers и can handle *.tar.gz and *.tar.bz2 files. JavaDocs понятны и полны, хотя я обнаружил, что автономные учебные пособия недостаточны - мне пришлось читать JavaDoc, чтобы заставить все работать.

... Который подводит меня к единственному недостатку, который я нашел: может потребоваться немного времени, чтобы обернуть голову вокруг TrueZIP. Первоначально у меня возникали проблемы с работой, но через некоторое время «щелкнули», и у меня не было никаких трудностей.

+0

Спасибо, я пробовал, и он работает по большей части, но есть определенные файлы tar, которые, похоже, бросают исключения или дают неверные результаты. А именно tar-файлы, которые содержат каталог в качестве первой записи, но без обратной косой черты. – Wayne

+0

Ссылки мертвы. –

+0

@ImpulseTheFox спасибо за головы. Я исправил ссылки, но вы всегда можете предложить отредактировать себя :) –

0
TarArchiveInputStream tin = new TarArchiveInputStream(new FileInputStream(tempFile)); 
ArchiveEntry entry = tin.getNextEntry(); 
while (entry != null) { 
    System.out.println("File Name " + entry.getName());//List file name  
}