π Extract the world!
extract all archive types in the same way!
archives are able to mount as fuse also using vavi-nio-file-archive
and vavi-net-fuse
name | mathod | read | write | comment | library |
---|---|---|---|---|---|
binhex | archiving | β | - | binhex | |
bzip2 | archiving | β | - | commons-compress | |
cab | archiving | β | - | dorkbox | |
gca | archiving | - | - | win only | native |
gca | archiving | - | - | shell | |
gzip | archiving | β | - | jdk | |
lha | archiving | β | - | lha | |
rar | archiving | - | - | win only | native |
rar | archiving | - | - | shell | |
rar | archiving | β * | - | java-unrar | |
rar | archiving | β | - | no rar5 | junrar |
sevenzip | archiving | β | - | 7z only | commons-compress |
sevenzip | archiving | - | - | native | |
stuffit | archiving | - | native | ||
tar | archiving | β | - | commons-compress | |
tar | stream | β | - | commons-compress | |
zip | archiving | β * | - | jdk | |
zip | archiving | β | - | ant | |
cpio | stream | π§ | - | gjt | |
lzma | stream | π§ | - | p7zip | |
rpm | archiving | π§ | - | gjt | |
apache | archiving | β | - | multi | commons-compress |
* chosen as spi
Archive archive = Archives.getArchive(Paths.get("foo/bar.rar").toFile());
Path outDir = Paths.get("foo/bar");
for (Entry entry : archive.entries()) {
Files.copy(archive.getInputStream(entry), outDir.resolve(entry.getName()));
}
InputStream compressed = Archives.getInputStream(Paths.get("foo/bar.tar.bz").toFile());
Files.copy(compressed, Paths.get("foo/bar.tar"));
- Giant Java Tree/cpio ... Unknown
- Giant Java Tree/rpm ... Unknown
- p7zip/lzma ... LGPL
- LHA for Java ... LICENSE
- registry like IIORegistry
- commons-vfs
- truevfs
apache commons-compress- https://github.com/ZIPmagic/ZIPmagic/tree/master/StuffIt%20SDK
https://github.com/cstroe/SevenZip-Java(use 7zip-jbinding)- write!
rar5(done by 7zip-jbinding)@marcusvoltolim says sevenzipjbinding can deal rar5 ???- it's true
- unar v1.10.7 ... ok
- 7zip 17.04 ... ok
https://github.com/Diab1o/java-7z-archiver ... yet another pure java 7zip implementation?(done)- where is my jna 7z implementation? (in the crashed hdd?)
- binary things ... gca.exe -> dll -> 64bit -> mach-O + winelib -> dylib