public abstract class FileSystemProviderImpl
extends java.nio.file.spi.FileSystemProvider
Modifier and Type | Field and Description |
---|---|
protected FileSystemImpl<?> |
fileSystem |
protected java.lang.String |
scheme |
Constructor and Description |
---|
FileSystemProviderImpl(java.lang.String scheme)
Create a new provider that can create a FileSystem.
|
Modifier and Type | Method and Description |
---|---|
void |
checkAccess(java.nio.file.Path path,
java.nio.file.AccessMode... modes) |
protected void |
checkURI(java.net.URI uri) |
void |
copy(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options) |
void |
createDirectory(java.nio.file.Path dir,
java.nio.file.attribute.FileAttribute<?>... attrs)
Creates a directory and all its parent directories in the FileSystem.
|
void |
delete(java.nio.file.Path path) |
<V extends java.nio.file.attribute.FileAttributeView> |
getFileAttributeView(java.nio.file.Path path,
java.lang.Class<V> type,
java.nio.file.LinkOption... options) |
java.nio.file.FileStore |
getFileStore(java.nio.file.Path path) |
abstract FileSystemImpl<?> |
getFileSystem()
Get the FileSystem associated with this provider.
|
java.nio.file.Path |
getPath(java.net.URI uri) |
java.lang.String |
getScheme() |
boolean |
isHidden(java.nio.file.Path path) |
boolean |
isSameFile(java.nio.file.Path path1,
java.nio.file.Path path2) |
void |
move(java.nio.file.Path source,
java.nio.file.Path target,
java.nio.file.CopyOption... options) |
java.nio.channels.SeekableByteChannel |
newByteChannel(java.nio.file.Path path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs)
Files that don't exist yet are automatically created.
|
protected abstract java.nio.channels.SeekableByteChannel |
newByteChannelImpl(PathImpl path,
java.util.Set<? extends java.nio.file.OpenOption> options,
java.nio.file.attribute.FileAttribute<?>... attrs)
Opens or creates a file, returning a seekable byte channel to access the file.
|
java.nio.file.DirectoryStream<java.nio.file.Path> |
newDirectoryStream(java.nio.file.Path dir,
java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path> filter) |
<A extends java.nio.file.attribute.BasicFileAttributes> |
readAttributes(java.nio.file.Path path,
java.lang.Class<A> type,
java.nio.file.LinkOption... options)
For directories, lastModifiedTime(), lastAccessTime() and creationTime all
return the creation time of the directory.
|
java.util.Map<java.lang.String,java.lang.Object> |
readAttributes(java.nio.file.Path path,
java.lang.String attributes,
java.nio.file.LinkOption... options) |
void |
setAttribute(java.nio.file.Path path,
java.lang.String attribute,
java.lang.Object value,
java.nio.file.LinkOption... options) |
protected java.lang.String scheme
protected FileSystemImpl<?> fileSystem
public FileSystemProviderImpl(java.lang.String scheme)
scheme
- The scheme for the FileSystemjava.lang.IllegalArgumentException
- if scheme is null or emptypublic abstract FileSystemImpl<?> getFileSystem()
public java.lang.String getScheme()
getScheme
in class java.nio.file.spi.FileSystemProvider
public java.nio.file.Path getPath(java.net.URI uri)
getPath
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if uri is null or if the scheme of the uri is not
the same as the scheme associated with this FileSystemProviderjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedpublic java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path path, java.util.Set<? extends java.nio.file.OpenOption> options, java.nio.file.attribute.FileAttribute<?>... attrs) throws java.io.IOException
newByteChannel
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if path is not a PathImpl or if path is a directoryjava.nio.file.FileAlreadyExistsException
- if a file of that name already exists and the
CREATE_NEW
option is specifiedjava.io.IOException
- if an I/O error occursprotected abstract java.nio.channels.SeekableByteChannel newByteChannelImpl(PathImpl path, java.util.Set<? extends java.nio.file.OpenOption> options, java.nio.file.attribute.FileAttribute<?>... attrs) throws java.io.IOException
path
- The path to the file to open or createoptions
- Options specifying how the file is openedattrs
- An optional list of file attributes to set atomically when
creating the filejava.lang.IllegalArgumentException
- if the set contains an invalid combination of optionsjava.lang.UnsupportedOperationException
- if an unsupported open option is specified or the array contains
attributes that cannot be set atomically when creating the filejava.nio.file.FileAlreadyExistsException
- if a file of that name already exists and the
CREATE_NEW
option is specifiedjava.io.IOException
- if an I/O error occursjava.lang.SecurityException
- In the case of the default provider, and a security manager is
installed, the checkRead
method is invoked to check read access to the path if the file is
opened for reading. The checkWrite
method is invoked to check write access to the path
if the file is opened for writing. The checkDelete
method is
invoked to check delete access if the file is opened with the
DELETE_ON_CLOSE
option.public java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path dir, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path> filter) throws java.io.IOException
newDirectoryStream
in class java.nio.file.spi.FileSystemProvider
java.nio.file.NotDirectoryException
- if path is not a PathImpl or path is not a directoryjava.nio.file.ClosedFileSystemException
- if the FileSystem has been closedjava.io.IOException
public void createDirectory(java.nio.file.Path dir, java.nio.file.attribute.FileAttribute<?>... attrs) throws java.io.IOException
getFileSystem()
and then use FileSystemImpl.getPath(String, String...)
and
make sure the name of the Path ends with a '/' or '\\' which
automatically makes the Path into a directory Path.createDirectory
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if dir is not a valid PathImpl directoryjava.nio.file.FileAlreadyExistsException
- if the directory or any of its parents exists as a filejava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.io.IOException
public void delete(java.nio.file.Path path) throws java.io.IOException
delete
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if path is not a valid PathImpljava.nio.file.NoSuchFileException
- if the file or directory does not existjava.nio.file.DirectoryNotEmptyException
- if the file is a directory and not emptyjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.io.IOException
public void copy(java.nio.file.Path source, java.nio.file.Path target, java.nio.file.CopyOption... options) throws java.io.IOException
copy
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if source or target is not a PathImpl or if source or target is a directoryjava.nio.file.NoSuchFileException
- if the source does not existjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.nio.file.FileAlreadyExistsException
- if the target file exists but cannot be replaced because the
REPLACE_EXISTING
option is not specifiedjava.io.IOException
public void move(java.nio.file.Path source, java.nio.file.Path target, java.nio.file.CopyOption... options) throws java.io.IOException
move
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if source or target is not a PathImpl or if source or target is a directoryjava.nio.file.NoSuchFileException
- if the source does not existjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.nio.file.FileAlreadyExistsException
- if the target file exists but cannot be replaced because the
REPLACE_EXISTING
option is not specifiedjava.io.IOException
public boolean isSameFile(java.nio.file.Path path1, java.nio.file.Path path2) throws java.io.IOException
isSameFile
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if path or path2 is not a PathImpljava.io.IOException
public boolean isHidden(java.nio.file.Path path) throws java.io.IOException
isHidden
in class java.nio.file.spi.FileSystemProvider
java.io.IOException
public java.nio.file.FileStore getFileStore(java.nio.file.Path path) throws java.io.IOException
getFileStore
in class java.nio.file.spi.FileSystemProvider
java.io.IOException
public void checkAccess(java.nio.file.Path path, java.nio.file.AccessMode... modes) throws java.io.IOException
checkAccess
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if path is not a PathImpljava.nio.file.NoSuchFileException
- if modes is null or empty and the dir or file doesn't existjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.io.IOException
public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path path, java.lang.Class<V> type, java.nio.file.LinkOption... options)
getFileAttributeView
in class java.nio.file.spi.FileSystemProvider
public <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path path, java.lang.Class<A> type, java.nio.file.LinkOption... options) throws java.io.IOException
readAttributes
in class java.nio.file.spi.FileSystemProvider
java.lang.IllegalArgumentException
- if path is not a PathImpl or type not equal to BasicFileAttributes.classjava.nio.file.ClosedFileSystemException
- if this FileSystem has been closedjava.io.IOException
public java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path path, java.lang.String attributes, java.nio.file.LinkOption... options) throws java.io.IOException
readAttributes
in class java.nio.file.spi.FileSystemProvider
java.lang.UnsupportedOperationException
java.io.IOException
public void setAttribute(java.nio.file.Path path, java.lang.String attribute, java.lang.Object value, java.nio.file.LinkOption... options) throws java.io.IOException
setAttribute
in class java.nio.file.spi.FileSystemProvider
java.lang.UnsupportedOperationException
java.io.IOException
protected void checkURI(java.net.URI uri)