https://github.com/umjammer/vavi-util-archive-sandbox
🗜️ Integrated Archiving method SPI for Java (d88, asar, xar, arj)
https://github.com/umjammer/vavi-util-archive-sandbox
7zip archive arj asar cab d88 java jitpack spi xar
Last synced: 3 months ago
JSON representation
🗜️ Integrated Archiving method SPI for Java (d88, asar, xar, arj)
- Host: GitHub
- URL: https://github.com/umjammer/vavi-util-archive-sandbox
- Owner: umjammer
- Created: 2017-11-02T00:10:03.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-12-06T09:54:25.000Z (6 months ago)
- Last Synced: 2025-12-10T03:20:28.533Z (6 months ago)
- Topics: 7zip, archive, arj, asar, cab, d88, java, jitpack, spi, xar
- Language: Java
- Homepage:
- Size: 1.09 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
[](https://jitpack.io/#umjammer/vavi-util-archive-sandbox)
[](https://github.com/umjammer/vavi-util-archive-sandbox/actions/workflows/maven.yml)
[](https://github.com/umjammer/vavi-util-archive-sandbox/actions/workflows/codeql-analysis.yml)

[](https://github.com/umjammer/vavi-util-archive)
# vavi-util-archive-sandbox
🌏 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](https://github.com/umjammer/vavi-apps-fuse/tree/master/vavi-nio-file-archive)
and [vavi-net-fuse](https://github.com/umjammer/vavi-apps-fuse/tree/master/vavi-net-fuse)
### Status
| name | mathod | read | write | comment | library |
|----------|-----------|-------|-------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| d88 | archiving | ✅ | - | | |
| rar | archiving | - | - | COM | [jacob](https://github.com/freemansoft/jacob-project) |
| rar | archiving | ✅ | - | | [unrar](https://github.com/ezrec/AROS-mirror/tree/0386b906ada312f26ac0eb1f42c7676df50d00d2/contrib/aminet/util/arc/unrar) c port |
| stuffit | archiving | 🚧 | - | | [unsit](https://github.com/aros-development-team/contrib/blob/bf975ce15093ac48d9e76f6e65660b521a617bdc/aminet/util/arc/unsit/unsit.c) c port |
| cab | archiving | - | - | COM | [jacob](https://github.com/freemansoft/jacob-project) |
| cab | archiving | ✅ | - | | [KBA](https://www.madobe.net/archiver/lib/activex/kba.html) |
| cab | archiving | 🚧 | - | | [ibex](http://git.megacz.com/?p=org.ibex.util.git;a=tree;f=src/org/ibex/util) |
| asar | archiving | ✅* | - | fail at file size is smaller than spec | [asar](https://github.com/Scroetchen/asar) |
| asar | archiving | 🚧 | - | json paser too much strict | [asar4j](https://github.com/anatawa12/asar4j) |
| xar | archiving | ✅ | - | | [xar](https://github.com/sprylab/xar) |
| arj | archiving | - | - | COM | [jacob](https://github.com/freemansoft/jacob-project) |
| arj | archiving | 🚧 | - | | [c](https://github.com/tripsin/unarj) |
| arj | archiving | ✅* | - | unsupported files exist | [commons-compress](https://commons.apache.org/proper/commons-compress/) |
| archiveR | streaming | 🚧 | - | TODO engine.io-nize | [ArchiveR](https://github.com/prog-ai/ArchivR) |
| sevenzip | archiving | ✅ | - | multi, **arm64 not supported** | [sevenzipjbinding](https://github.com/borisbrodski/sevenzipjbinding) |
| bortli | streaming | 🚧 | - | | [bortli](https://github.com/google/brotli) |
* chosen as spi
## Install
* [maven](https://jitpack.io/#umjammer/vavi-util-archive-sandbox)
## Usage
```java
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()));
}
```
## References
* https://github.com/prog-ai/ArchivR
* https://github.com/temisu/ancient
* https://github.com/google/brotli
### License
* unrar ... [GPL](http://www.gnu.org/licenses/gpl.html)
* [ibex](https://util.ibex.org/src/org/ibex/util/) ... LGPL
## TODO
* ~~make it enable to compile~~
* ~~asar~~
* https://github.com/prog-ai/ArchivR (wip)
* https://bitbucket.org/magli143/exomizer/wiki/Home
* brotli (wip)