Skip to content

πŸ—œοΈ Integrated Archiving method SPI for Java (zip, lha, cab, etc...)

Notifications You must be signed in to change notification settings

umjammer/vavi-util-archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Java CI CodeQL Java

vavi-util-archive

🌏 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

Status

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

Usage

archive extraction

    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()));
    }

archive decompression

    InputStream compressed = Archives.getInputStream(Paths.get("foo/bar.tar.bz").toFile());
    Files.copy(compressed, Paths.get("foo/bar.tar"));

License

TODO