Hi Lance, Alan,

Overall looks good to me.

> 
> A few comments
> 
> >
> > + * The Zip file system provider treats a Zip or JAR file as a file system
> > + * providing the ability to manipulate its contents.
> It might be a bit clearer to reduce this to: "The Zip file system
> provider treats the contents of a Zip or JAR file as a file system".

+1

> >    *
> > + * The {@linkplain java.nio.file.FileSystems FileSystems} {@code
> newFileSystem}
> > + * static factory methods can be used to create a new Zip file system or to
> > + * obtain a reference to an existing Zip file system.
> or "can be used to create a zip file system or open an existing file as
> a zip file system".

Here I think Lance's point is what would happen when a FileSystem instance for 
a particular zip file would already exist and a call to newFileSystem would 
throw a FileSystemAlreadyExistsException. In that case you need to call 
getFileSystem. So maybe this sentence should be reworked to cover everything?

> > + *
> > + *     FileSystem zipfs = FileSystems.newFileSystem(
> > + *            Paths.get("tennisteam.jar"), null);
> You can change this to use Path.of, also might be nice to remove the
> line break so it's all on one line.
> 
> > + *     Files.walk(zipfs.getPath("/"))
> > + *            .forEach(System.out::println);
> >
> For clarity it might be better to create a variable, say top, for the
> root directory of the zip file system. The main thing that the reader
> needs to understand is that the file system is the factory to create
> paths to files in that file system.

+1

I'm also wondering, whether we should mention how the FileSystemProvider 
instance can be resolved (e.g. iterating 
FileSystemProvider.installedProviders(), checking for scheme "jar")? Not quite 
sure...

Best regards
Christoph

Reply via email to