π Extract the world more!
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 |
---|---|---|---|---|---|
d88 | archiving | β | - | ||
rar | archiving | - | - | COM | jacob |
rar | archiving | π§ | - | unrar c port | |
stuffit | archiving | π§ | - | unsit c port | |
cab | archiving | - | - | COM | jacob |
cab | archiving | β | - | KBA | |
cab | archiving | π§ | - | ibex | |
asar | archiving | β * | - | fail at file size is smaller than spec | asar |
asar | archiving | π§ | - | json paser too much strict | asar4j |
xar | archiving | β | - | xar | |
arj | archiving | - | - | COM | jacob |
arj | archiving | π§ | - | c | |
arj | archiving | β * | - | unsupported files exist | commons-compress |
archiveR | streaming | π§ | - | TODO engine.io-nize | ArchiveR |
sevenzip | archiving | β | - | multi, arm64 not supported | sevenzipjbinding |
* chosen as spi
Archive archive = Archives.getArchive(Paths.get("foo/bar.xar").toFile());
Path outDir = Paths.get("foo/bar");
for (Entry entry : archive.entries()) {
Files.copy(archive.getInputStream(entry), outDir.resolve(entry.getName()));
}
make it enable to compileasar