Key Features

The following list introduces key features of the overal TrueVFS architecture. For a list of features for individual modules please visit their respective home page, e.g. TrueVFS Driver ZIP. You can find the modules in the navigation bar.

Easy To Use
The client API module TrueVFS Access provides convenient and transparent read/write access to archive files as if they were virtual directories. For example, the classes TFile, TFileInputStream, TFileOutputStream et al can instantly access ZIP files, TAR files and their relatives or even your own application file format or encrypted application file format.
Fast Bulk I/O
The client API module TrueVFS Access provides convenient and powerful methods for fast bulk I/O operations like file or directory tree copying, moving, deleting, traversing etc. For example, by using the multi-threaded method, OutputStream), you'll never need to use a naive read-stop-write-stop-loop again.
File System Federation
The module TrueVFS Kernel supports read/write access to stacked file systems. This enables you to read and write entries in nested archive files, e.g. you could write the manifest entry of a JAR file within a WAR file in the current directory simply by using a new TFileWriter("app.war/WEB-INF/lib/lib.jar/META-INF/MANIFEST.MF")
Modular Architecture
TrueVFS employs a three-tier architecture with an access tier, a kernel tier and a driver tier. The access tier and the driver tier consist of several modules to give you the freedom to select what suits your needs best.
Pluggable File System Drivers
TrueVFS can support virtually any file system type via its pluggable file system driver architecture in the driver tier. TrueVFS ships with file system drivers for the file system schemes FILE, HTTP(S), ZIP, TAR and their relatives like JAR, TGZ, TBZ2 etc. To make a file system driver available to your application, simply add the JAR artifact of the driver module to the application's run time class path.
The TrueVFS Kernel properly recognizes false positive archive files, so it does not get confused by an arbitrary file or directory which inadvertenly uses a detectable archive file extension, e.g. .zip.
The TrueVFS Kernel applies fine grained locking, caching and accounting of resources where required so that multiple threads can safely and concurrently read and write entries within the same archive file.
Given enough heap space to hold the archive file system meta data, TrueVFS can access thousands of archive files with thousands of entries in many different threads concurrently.
TrueVFS uses code assertions, unit tests, function tests, integration tests and static code analysis tools like FindBugs and JDepend in order to meet the project's high reliability standards. The project aims for zero bug tolerance so that you can persist your application data using TrueVFS with ease of mind. This claim goes without warranties, of course!