TrueZIP 6.8.2

TrueZIP 6.8.2 API

TrueZIP is a Java based Virtual File System (VFS) to enable transparent, multi-threaded read/write access to archive files (ZIP, TAR, etc) as if they were directories.

See:
          Description

Packages
de.schlichtherle.awt Provides custom AWT GUI classes.
de.schlichtherle.crypto Provides utility classes for general cryptograpic purposes.
de.schlichtherle.crypto.generators Provides Pseudo Random Number Generators (PRNG).
de.schlichtherle.crypto.io Provides utility classes for encryption and decryption.
de.schlichtherle.crypto.io.raes Reads and writes files according to the Random Access Encryption Specification (RAES).
de.schlichtherle.crypto.modes Provides block cipher modes.
de.schlichtherle.io Provides transparent, multi-threaded read/write access to archive files (ZIP, TAR, etc) and their entries as if they were (virtual) directories and files.
de.schlichtherle.io.archive Essential classes required to work with archive files.
de.schlichtherle.io.archive.spi The Service Provider Interface (SPI) for pluggable ArchiveDrivers.
de.schlichtherle.io.archive.tar Provides the ArchiveDriver family for TAR files.
de.schlichtherle.io.archive.zip Provides the ArchiveDriver family for ZIP files.
de.schlichtherle.io.archive.zip.raes Provides the ArchiveDriver family for RAES encrypted ZIP files.
de.schlichtherle.io.rof Provides random read only access to files (as opposed to the random read/write access provided by RandomAccessFile).
de.schlichtherle.io.samples Provides sample main classes for various archive file operation utilities (zip, unzip, encrypt, decrypt etc.).
de.schlichtherle.io.swing Provides random read only access to files (as opposed to the random read/write access provided by RandomAccessFile).
de.schlichtherle.io.swing.tree Support classes for the package de.schlichtherle.io.swing.
de.schlichtherle.io.util Provides utility classes for I/O.
de.schlichtherle.key An extensible, generalized manager for keys of arbitrary type required to create or open protected resources.
de.schlichtherle.key.passwd.console The console I/O based implementation of the abstract base class KeyManager.
de.schlichtherle.key.passwd.swing The Swing GUI based implementation of the abstract base class KeyManager.
de.schlichtherle.nio.charset Provides an implementation of the IBM437 character set.
de.schlichtherle.nio.charset.spi Provides a CharsetProvider which solely provides the IBM437 character set.
de.schlichtherle.swing Provides custom Swing GUI classes.
de.schlichtherle.swing.event Support classes for the package de.schlichtherle.io.swing.
de.schlichtherle.util General utility classes.
de.schlichtherle.util.regex Provides regular expression services as an amendment to the JSE 5 API.
de.schlichtherle.util.zip A drop-in replacement for the classes in the package java.util.zip which read and write ZIP files.

 

TrueZIP is a Java based Virtual File System (VFS) to enable transparent, multi-threaded read/write access to archive files (ZIP, TAR, etc) as if they were directories. Archive files may be arbitrarily nested and the nesting level is only limited by heap and file system size.

TrueZIP's design strategy is to "make simple things easy and complex things possible". For example, when using the default configuration, the instance new File("app.ear/web.war/WEB-INF/lib/lib.jar/META-INF/MANIFEST.MF") would refer to the text file entry META-INF/MANIFEST.MF within the JAR file entry WEB-INF/lib/lib.jar within the WAR file entry web.war within the EAR file app.ear. The same applies for any other supported and configured archive type.

Limitation: TrueZIP works on files only. If an archive is just available as an InputStream, it needs to be saved to a (temporary) file first. If this is not an option, TrueZIP can't be used.

TrueZIP provides a pluggable archive driver architecture to support virtually any archive type: Out of the box, TrueZIP supports ZIP, SFX/EXE, JAR, TZP, TAR, TAR.BZ2 and TAR.GZ. This list will be extended in future releases. Note that some of these archive types require additional JARs on the runtime class path.

To be minimal intrusive, TrueZIP provides drop-in replacements for many classes in the java.io package. This reduces the learning curve to the essential minimum and allows to introduce TrueZIP's functionality gradually within legacy applications or even other VFS solutions which are currently built on top of java.io.File*.

TrueZIP 6 requires only a J2SE 1.4.2 compatible Java Runtime Environment, but some rarely used features (e.g. prompting for a password on the console) are available only when running under JSE 6.

TrueZIP is covered under the Apache License, Version 2.0.

Default Configuration

The following archive types and access parameters are defined by the default configuration resource file in truezip.jar/META-INF/services/de.schlichtherle.io.registry.properties. Note that only the archive file suffixes "ear|jar|war|zip" are recognized in file paths by default.

Type

Canonical Suffixes0

DEFAULT1

ALL2

Charset3

Dependencies4

Description

ZIP

zip

Yes

Yes

IBM4375

 

ZIP file: Archive file with central directory and compressible entries

JAR

ear|jar|war

Yes

Yes

UTF-8

 

Java Archive: ZIP with custom directory tree layout

ODF odb|odf|odg|odm|odp|ods|odt|otg|oth|otp|ots|ott No Yes UTF-8   OpenDocument Format: If present, the mimetype entry is written first with STORED method.
TZP

tzp|zip.rae|zip.raes

No

Yes

UTF-8

lcrypto.jar6

RAES encrypted ZIP file.

SFX/EXE

exe

No

Yes

system specific

 

ZIP file with a code preamble for self extraction. This driver is pretty slow.

TAR

tar

No

Yes

US-ASCII7

ant.jar8

TAR: Uncompressed tape archive file.

TAR.BZ2

tbz2|tar.bz2

No

Yes

US-ASCII7

ant.jar8

TAR file wrapped in BZIP2 compression format.

TAR.GZ

tar.gz|tgz

No

Yes

US-ASCII7

ant.jar8

TAR file wrapped in GZIP compression format.

0 Suffix recognition is case insensitive with the DefaultArchiveDetector class.
1 Recognized by the predefined instance ArchiveDetector.DEFAULT? Note that this may be extended (but not restricted) in future releases.
2 Recognized by the predefined instance ArchiveDetector.ALL? Note that this may be extended (but not restricted) in future releases.
3 The code page to use for entry names and other entry meta data. This access parameter is determined by the archive driver (not the archive detector) and can be customized by subclassing it.
4 This needs to be on the runtime class path.
5 The charset for ZIP files is not specified. This is a heuristic value which is based on the fact that IBM437 is the original PC character set for the USA and the ZIP file format has been invented there. Do not rely on this!
6 Bouncy Castle's Lightweight Crypto API for JDK 1.4, version 1.45 or higher. Available at http://www.bouncycastle.org/latest_releases.html.
7 The charset for TAR files is not specified. This is a heuristic value which is based on the fact that the TAR file format stems from UNIX implementations of the seventies.
8 Apache's Ant, version 1.8.1 or higher. Available at http://ant.apache.org.


TrueZIP 6.8.2

Copyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.