< prev index next >
src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java
Print this page
rev 52310 : 8213031: (zipfs) Add support for POSIX file permissions
@@ -23,32 +23,48 @@
* questions.
*/
package jdk.nio.zipfs;
-import java.io.*;
-import java.nio.channels.*;
-import java.nio.file.*;
-import java.nio.file.DirectoryStream.Filter;
-import java.nio.file.attribute.*;
-import java.nio.file.spi.FileSystemProvider;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
+import java.nio.channels.AsynchronousFileChannel;
+import java.nio.channels.FileChannel;
+import java.nio.channels.SeekableByteChannel;
+import java.nio.file.AccessMode;
+import java.nio.file.CopyOption;
+import java.nio.file.DirectoryStream;
+import java.nio.file.DirectoryStream.Filter;
+import java.nio.file.FileStore;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystemAlreadyExistsException;
+import java.nio.file.FileSystemNotFoundException;
+import java.nio.file.Files;
+import java.nio.file.LinkOption;
+import java.nio.file.OpenOption;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.ProviderMismatchException;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.nio.file.attribute.FileAttribute;
+import java.nio.file.attribute.FileAttributeView;
+import java.nio.file.attribute.PosixFileAttributes;
+import java.nio.file.spi.FileSystemProvider;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import java.util.zip.ZipException;
import java.util.concurrent.ExecutorService;
+import java.util.zip.ZipException;
-/*
- *
- * @author Xueming Shen, Rajendra Gutupalli, Jaya Hangal
+/**
+ * @author Xueming Shen, Rajendra Gutupalli, Jaya Hangal
*/
-
public class ZipFileSystemProvider extends FileSystemProvider {
-
private final Map<Path, ZipFileSystem> filesystems = new HashMap<>();
public ZipFileSystemProvider() {}
@Override
@@ -200,11 +216,10 @@
public final void delete(Path path) throws IOException {
toZipPath(path).delete();
}
@Override
- @SuppressWarnings("unchecked")
public <V extends FileAttributeView> V
getFileAttributeView(Path path, Class<V> type, LinkOption... options)
{
return ZipFileAttributeView.get(toZipPath(path), type);
}
@@ -284,11 +299,13 @@
@SuppressWarnings("unchecked") // Cast to A
public <A extends BasicFileAttributes> A
readAttributes(Path path, Class<A> type, LinkOption... options)
throws IOException
{
- if (type == BasicFileAttributes.class || type == ZipFileAttributes.class)
+ if (type == BasicFileAttributes.class ||
+ type == PosixFileAttributes.class ||
+ type == ZipFileAttributes.class)
return (A)toZipPath(path).getAttributes();
return null;
}
@Override
< prev index next >