jdk/src/share/demo/nio/zipfs/README.txt
author sherman
Mon, 15 Nov 2010 09:26:49 -0800
changeset 7189 5749df30059b
parent 6699 d8229570529d
child 7531 77870839c857
permissions -rw-r--r--
6994145: (zipfs) README should be updated 6994161: (zipfs) newFileSystem method should FileSystemAlreadyExistsException 6994152: (zipfs) copyTo ignores COPY_ATTRIBUTES option Summary: zipfile update Reviewed-by: alanb

ZipFileSystem is a file system provider that treats the contents of a zip or
JAR file as a java.nio.file.FileSystem.

To deploy the provider you must copy zipfs.jar into your extensions
directory or else add <JDK_HOME>/demo/nio/zipfs/zipfs.jar
to your class path.

The factory methods defined by the java.nio.file.FileSystems class can be
used to create a FileSystem, eg:

   // use file type detection
   Map<String,?> env = Collections.emptyMap();
   Path jarfile = Paths.get("foo.jar");
   FileSystem fs = FileSystems.newFileSystem(jarfile, env, null);

-or

   // locate file system by URI
   Map<String,?> env = Collections.emptyMap();
   URI uri = URI.create("zip:///mydir/foo.jar");
   FileSystem fs = FileSystems.newFileSystem(uri, env);

Once a FileSystem is created then classes in the java.nio.file package
can be used to access files in the zip/JAR file, eg:

   Path mf = fs.getPath("/META-INF/MANIFEST.MF");
   InputStream in = mf.newInputStream();