Unable to create a zip file using the Zip filesystem provider anymore?
Francis Galiegue
fgaliegue at gmail.com
Fri Apr 29 17:31:33 UTC 2016
OK, so, final sample:
----
fge at erwin:/tmp$ cat Foo.java
import java.io.IOException;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.FileSystems;
import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Collections;
public final class Foo
{
private static final Path ZIP = Paths.get("/tmp/t.zip");
private static final String ENTRY = "foo";
private Foo()
{
throw new Error("instantiation not permitted");
}
public static void main(final String... args)
throws IOException
{
final URI uri = URI.create("jar:" + ZIP.toUri());
try (
final FileSystem fs = FileSystems.newFileSystem(uri,
Collections.singletonMap("create", "true"));
) {
final Path entry = fs.getPath(ENTRY);
final BasicFileAttributes attrs = Files.readAttributes(entry,
BasicFileAttributes.class);
System.out.println(attrs.creationTime());
}
}
}
fge at erwin:/tmp$ javac Foo.java
fge at erwin:/tmp$ java Foo
Exception in thread "main" java.util.zip.ZipError: zip END header not found
at com.sun.nio.zipfs.ZipFileSystem.zerror(ZipFileSystem.java:1605)
at com.sun.nio.zipfs.ZipFileSystem.findEND(ZipFileSystem.java:1021)
at com.sun.nio.zipfs.ZipFileSystem.initCEN(ZipFileSystem.java:1030)
at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:130)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:117)
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:326)
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:276)
at Foo.main(Foo.java:28)
----
That should demonstrate the point...
--
Francis Galiegue, fgaliegue at gmail.com, https://github.com/fge
JSON Schema in Java: http://json-schema-validator.herokuapp.com
Parsers in pure Java: https://github.com/fge/grappa
More information about the nio-dev
mailing list