Provides the implementation of the Zip file system provider.
The Zip file system provider treats the contents of a Zip or JAR file as a file system.
Accessing a Zip File System
The
FileSystems newFileSystem
static factory methods can be used to:
- Create a Zip file system
- Open an existing file as a Zip file system
URI Scheme Used to Identify the Zip File System
The URI
scheme
that identifies the ZIP file system is
jar
.
Zip File System Properties
The following properties may be specified when creating a Zip
file system:
Configurable properties that may be specified when creating
a new Zip file system
Property Name |
Data Type |
Default Value |
Description |
create |
java.lang.String |
false |
If the value is true , the Zip file system provider
creates a new Zip or JAR file if it does not exist.
|
encoding |
java.lang.String |
UTF-8 |
The value indicates the encoding scheme for the
names of the entries in the Zip or JAR file.
|
Examples:
Construct a new Zip file system that is identified by a URI. If the Zip file does not exist,
it will be created:
URI uri = URI.create("jar:file:/home/luckydog/tennisTeam.zip");
Map<String, String> env = Map.of("create", "true");
FileSystem zipfs = FileSystems.newFileSystem(uri, env);
Construct a new Zip file system that is identified by specifying a path
and using automatic file type detection. Iterate from the root of the JAR displaying each
found entry:
FileSystem zipfs = FileSystems.newFileSystem(Path.of("helloworld.jar"), null);
Path rootDir = zipfs.getPath("/");
Files.walk(rootDir)
.forEach(System.out::println);