Zip file system provider only works with default file system
Philippe Marschall
philippe.marschall at gmail.com
Sun Dec 9 07:08:59 PST 2012
On Sat, Dec 8, 2012 at 9:18 PM, Michael Hall <mik3hall at gmail.com> wrote:
> It's a demo.
>
> Couldn't you just temporarily put your own ZipFileSystem in classpath some
> place before the default version jar?
Well, since zipfs.jar is part of the JRE that would probably have go
to do endorsed/ not the nicest place to be.
> With something like…
>
> In com.sun.nio.zipfs.ZipFileSystem
>
> // Creates a new empty temporary file in the same directory as the
> // specified file. A variant of File.createTempFile.
> private Path createTempFileInSameDirectoryAs(Path path)
> throws IOException
> {
> Path parent = path.toAbsolutePath().getParent();
> Path tmpPath = Files.createTempFile(dir,"zipfstmp", null);
> tmppaths.add(tmpPath);
> return tmpPath;
> }
>
> Assumes it'll use the correct FileSystem as the parameter's Path all the way
> through, I haven't tested it at all.
> Not sure if there are any complications with a com.sun class. You could
> change the demo package.
>
> Are you just trying this out or do you intend to use the demo code in
> something production?
The plan is to use it in testing, like an in-memory database (JavaDB,
…). Especially interesting would be that you can simulate a
Linux/Windows/Mac file system on a developer workstation without
having to run the tests on a slave. It would also be cool if you could
initialize a file system from a ZIP file and drop the contents of the
file system into a ZIP file for analysis if the test fails. And
sometimes you just want to create an in-memory zip, eg. in a servlet.
Cheers
Philippe
More information about the nio-dev
mailing list