Класс FileSystemProvider

public abstract class FileSystemProvider
extends Object

Класс-провайдер службы файловой системы. Методы, определённые классом Files, обычно делегируют вызовы экземпляру этого класса.

Провайдер файловой системы — это конкретная реализация этого класса, которая имплементирует абстрактные методы, определённые в этом классе. Провайдер идентифицируется схемой URI URI scheme. Провайдер по умолчанию идентифицируется схемой URI "file". Он создаёт FileSystem, обеспечивающий доступ к файловым системам, доступным виртуальной машине Java. Класс FileSystems определяет, как провайдеры файловых систем находятся и загружаются. Провайдер по умолчанию обычно является системным провайдером, но может быть переопределён, если установлена системная переменная java.nio.file.spi.DefaultFileSystemProvider. В этом случае провайдер имеет конструктор с одним аргументом, тип формального параметра которого FileSystemProvider. Все остальные провайдеры имеют конструктор без аргументов, который инициализирует провайдер.

Провайдер является фабрикой для одного или нескольких экземпляров FileSystem. Каждая файловая система идентифицируется URI, где схема URI соответствует схеме URI провайдера scheme. Например, стандартная файловая система идентифицируется URI "file:///". Например, файловая система на основе памяти может быть идентифицирована URI, таким как "memory:///?name=logfs". Метод newFileSystem может использоваться для создания файловой системы, а метод getFileSystem может использоваться для получения ссылки на существующую файловую систему, созданную провайдером. Если провайдер является фабрикой для одной файловой системы, то создание файловой системы при инициализации провайдера или позднее, при вызове метода newFileSystem, зависит от провайдера. В случае провайдера по умолчанию, FileSystem создаётся при инициализации провайдера.

Все методы в этом классе безопасны для использования несколькими параллельными потоками.

С момента:
1.7

Конструкторы

Модификатор Конструктор Описание
protected FileSystemProvider()

Инициализирует новый экземпляр этого класса.

Методы

Модификатор и тип Метод Описание
abstract void checkAccess​(Path path, AccessMode... modes)

Проверяет существование и, необязательно, доступность файла.

abstract void copy​(Path source, Path target, CopyOption... options)

Копирует файл в целевой файл.

abstract void createDirectory​(Path dir, FileAttribute<?>... attrs)

Создаёт новую директорию.

void createLink​(Path link, Path existing)

Создаёт новую ссылку (элемент каталога) для существующего файла.

void createSymbolicLink​(Path link, Path target, FileAttribute<?>... attrs)

Создаёт символическую ссылку на целевой объект.

abstract void delete​(Path path)

Удаляет файл.

boolean deleteIfExists​(Path path)

Удаляет файл, если он существует.

abstract <V extends FileAttributeView>
V
getFileAttributeView​(Path path, Class<V> type, LinkOption... options)

Возвращает представление атрибутов файла заданного типа.

abstract FileStore getFileStore​(Path path)

Возвращает FileStore, представляющий хранилище файлов, в котором находится файл.

abstract FileSystem getFileSystem​(URI uri)

Возвращает существующую FileSystem, созданную этим провайдером.

abstract Path getPath​(URI uri)

Возвращает объект Path, преобразуя заданный URI.

abstract String getScheme()

Возвращает схему URI, которая идентифицирует этот провайдер.

static List<FileSystemProvider> installedProviders()

Возвращает список установленных провайдеров файловых систем.

abstract boolean isHidden​(Path path)

Определяет, считается ли файл скрытым.

abstract boolean isSameFile​(Path path, Path path2)

Проверяет, указывают ли два пути на один и тот же файл.

abstract void move​(Path source, Path target, CopyOption... options)

Перемещает или переименовывает файл в целевой файл.

AsynchronousFileChannel newAsynchronousFileChannel​(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)

Открывает или создаёт файл для чтения и/или записи, возвращая асинхронный канал файла для доступа к файлу.

abstract SeekableByteChannel newByteChannel​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)

Открывает или создаёт файл, возвращая доступный для поиска байтовый канал для доступа к файлу.

abstract DirectoryStream<Path> newDirectoryStream​(Path dir, DirectoryStream.Filter<? super Path> filter)

Открывает каталог, возвращая DirectoryStream для итерации по элементам в каталоге.

FileChannel newFileChannel​(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)

Открывает или создаёт файл для чтения и/или записи, возвращая канал файла для доступа к файлу.

abstract FileSystem newFileSystem​(URI uri, Map<String,​?> env)

Создаёт новый FileSystem-объект, идентифицируемый URI.

FileSystem newFileSystem​(Path path, Map<String,​?> env)

Создаёт новый FileSystem для доступа к содержимому файла как файловой системе.

InputStream newInputStream​(Path path, OpenOption... options)

Открывает файл, возвращая поток ввода для чтения из файла.

OutputStream newOutputStream​(Path path, OpenOption... options)

Открывает или создаёт файл, возвращая поток вывода, который может использоваться для записи байтов в файл.

abstract <A extends BasicFileAttributes>
A
readAttributes​(Path path, Class<A> type, LinkOption... options)

Считывает атрибуты файла как операцию сжатия.

abstract Map<String,​Object> readAttributes​(Path path, String attributes, LinkOption... options)

Считывает набор атрибутов файла как операцию сжатия.

Path readSymbolicLink​(Path link)

Считывает целевой объект символической ссылки.

abstract void setAttribute​(Path path, String attribute, Object value, LinkOption... options)

Устанавливает значение атрибута файла.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

FileSystemProvider

protected FileSystemProvider()

Инициализирует новый экземпляр этого класса.

Во время создания провайдер может безопасно получить доступ к файлам, связанным со стандартным провайдером, но необходимо позаботиться об избегании циклической загрузки других установленных провайдеров. Если обнаружена циклическая загрузка установленных провайдеров, то будет выброшено неопределённое исключение.

Выбрасывает:
SecurityException - Если установлен менеджер безопасности и он запрещает RuntimePermission("fileSystemProvider")

Методы

installedProviders

public static List<FileSystemProvider> installedProviders()

Возвращает список установленных поставщиков файловой системы.

Первое обращение к этому методу приводит к инициализации поставщика по умолчанию (если он ещё не инициализирован) и загружает любые другие установленные поставщики, как описано в классе FileSystems.

Возвращает:
Неизменяемый список установленных поставщиков файловой системы. Список содержит по крайней мере один элемент — поставщик файловой системы по умолчанию
Выбрасывает:
ServiceConfigurationError - При возникновении ошибки при загрузке поставщика службы

getScheme

public abstract String getScheme()

Возвращает схему URI, которая идентифицирует этого поставщика.

Возвращает:
Схема URI

newFileSystem

public abstract FileSystem newFileSystem(URI uri,
                                         Map<String,​?> env)
                                  throws IOException

Создаёт новый объект FileSystem , идентифицированный URI. Этот метод вызывается методом FileSystems.newFileSystem(URI,Map) для открытия новой файловой системы, идентифицированной URI.

Параметр uri — это абсолютный иерархический URI со схемой, равной (независимо от регистра) схеме, поддерживаемой этим поставщиком. Точная форма URI сильно зависит от поставщика. Параметр env — это карта свойств, специфичных для поставщика, для настройки файловой системы.

Этот метод выбрасывает исключение FileSystemAlreadyExistsException, если файловая система уже существует, поскольку она была ранее создана вызовом этого метода. После того, как файловая система closed, зависит от поставщика, разрешает ли он создание новой файловой системы с тем же URI, что и файловая система, которую он ранее создал.

Параметры:
uri - Ссылка на URI
env - Карта свойств, специфичных для поставщика, для настройки файловой системы; может быть пустой
Возвращает:
Новая файловая система
Выбрасывает:
IllegalArgumentException - Если предварительные условия для параметра uri не выполнены, или параметр env не содержит свойств, необходимых поставщику, или значение свойства некорректно
IOException - Произошла ошибка ввода-вывода при создании файловой системы
SecurityException - Если установлен менеджер безопасности, и он отклоняет неопределённое разрешение, необходимое реализации поставщика файловой системы
FileSystemAlreadyExistsException - Если файловая система уже создана

getFileSystem

public abstract FileSystem getFileSystem(URI uri)

Возвращает существующую FileSystem , созданную этим поставщиком.

Этот метод возвращает ссылку на FileSystem , которая была создана путём вызова метода newFileSystem(URI,Map). Файловые системы, созданные методом newFileSystem(Path,Map) не возвращаются этим методом. Файловая система идентифицируется по своему URI. Её точная форма сильно зависит от поставщика. В случае поставщика по умолчанию компонент пути URI — "/" , а компоненты авторизации, запроса и фрагмента не определены (неопределённые компоненты представлены как null).

После того, как файловая система, созданная этим поставщиком, будет closed, зависит от поставщика, вернёт ли этот метод ссылку на закрытую файловую систему или выбросит исключение FileSystemNotFoundException. Если поставщик разрешает создание новой файловой системы с тем же URI, что и файловая система, которую он ранее создал, то этот метод выбросит исключение, если вызван после закрытия файловой системы (и до создания нового экземпляра методом newFileSystem).

Если установлен менеджер безопасности, то реализация поставщика может потребовать проверки разрешения перед возвращением ссылки на существующую файловую систему. В случае файловой системы default проверка разрешений не требуется.

Параметры:
uri - Ссылка на URI
Возвращает:
Файловая система
Выбрасывает:
IllegalArgumentException - Если предварительные условия для параметра uri не выполнены
FileSystemNotFoundException - Если файловая система не существует
SecurityException - Если установлен менеджер безопасности, и он отклоняет неопределённое разрешение.

getPath

public abstract Path getPath(URI uri)

Возвращает объект Path , преобразуя предоставленный URI. Полученный Path связан с FileSystem, которая уже существует или создаётся автоматически.

Точная форма URI зависит от поставщика файловой системы. В случае поставщика по умолчанию схема URI — "file" , а предоставленный URI имеет непустой компонент пути и неопределённые компоненты запроса и фрагмента. Полученный Path связан с FileSystem файловой системой default по умолчанию.

Если установлен менеджер безопасности, реализация поставщика может потребовать проверки разрешения. В случае файловой системы default проверка разрешений не требуется.

Параметры:
uri - URI для преобразования
Возвращает:
Полученный Path
Выбрасывает:
IllegalArgumentException - Если схема URI не идентифицирует этого поставщика или другие предварительные условия для параметра uri не выполняются
FileSystemNotFoundException - Файловая система, идентифицированная URI, не существует и не может быть создана автоматически
SecurityException - Если установлен менеджер безопасности, и он отклоняет неопределённое разрешение.

newFileSystem

public FileSystem newFileSystem(Path path,
                                Map<String,​?> env)
                         throws IOException

Создаёт новую FileSystem для доступа к содержимому файла как к файловой системе.

Этот метод предназначен для специализированных поставщиков псевдофайловых систем, где содержимое одного или нескольких файлов рассматривается как файловая система. Параметр env — это карта свойств, специфичных для поставщика, для настройки файловой системы.

Если этот поставщик не поддерживает создание таких файловых систем или если поставщик не распознаёт тип файла данного файла, он выбрасывает исключение UnsupportedOperationException. По умолчанию этот метод выбрасывает исключение UnsupportedOperationException.

Параметры:
path - Путь к файлу
env - Карта свойств, специфичных для поставщика, для настройки файловой системы; может быть пустой
Возвращает:
Новая файловая система
Выбрасывает:
UnsupportedOperationException - Если этот поставщик не поддерживает доступ к содержимому как к файловой системе или не распознаёт тип файла данного файла
IllegalArgumentException - Если параметр env не содержит свойств, необходимых поставщику, или значение свойства некорректно
IOException - Произошла ошибка ввода-вывода
SecurityException - Если установлен менеджер безопасности, и он отклоняет неопределённое разрешение.

newInputStream

public InputStream newInputStream(Path path,
                                  OpenOption... options)
                           throws IOException

Открывает файл, возвращая поток ввода для чтения из файла. Этот метод работает точно так же, как метод Files.newInputStream(java.nio.file.Path, java.nio.file.OpenOption...).

Реализация по умолчанию этого метода открывает канал к файлу, как если бы был вызван метод newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...), и создаёт поток, который считывает байты из канала. Этот метод следует переопределять по мере необходимости.

Параметры:
path - путь к файлу для открытия
options - параметры, определяющие способ открытия файла
Возвращает:
Новый поток ввода
Выбрасывает:
IllegalArgumentException - если указана некорректная комбинация параметров
UnsupportedOperationException - если указан неподдерживаемый параметр
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае поставщика по умолчанию и установленного менеджера безопасности вызывается метод checkRead для проверки доступа на чтение к файлу.

newOutputStream

public OutputStream newOutputStream(Path path,
                                    OpenOption... options)
                             throws IOException

Открывает или создаёт файл, возвращая поток вывода, который можно использовать для записи байтов в файл. Этот метод работает точно так же, как метод Files.newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...).

Реализация по умолчанию этого метода открывает канал к файлу, как если бы был вызван метод newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...), и создаёт поток, который записывает байты в канал. Этот метод следует переопределять по мере необходимости.

Параметры:
path - путь к файлу для открытия или создания
options - параметры, определяющие способ открытия файла
Возвращает:
Новый поток вывода
Выбрасывает:
IllegalArgumentException - если options содержит некорректную комбинацию параметров
UnsupportedOperationException - если указан неподдерживаемый параметр
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае поставщика по умолчанию и установленного менеджера безопасности вызывается метод checkWrite для проверки доступа на запись к файлу. Метод checkDelete вызывается для проверки доступа на удаление, если файл открыт с параметром DELETE_ON_CLOSE.

newFileChannel

public FileChannel newFileChannel(Path path,
                                  Set<? extends OpenOption> options,
                                  FileAttribute<?>... attrs)
                           throws IOException

Открывает или создаёт файл для чтения и/или записи, возвращая файловый канал для доступа к файлу. Этот метод работает точно так же, как и метод FileChannel.open. Провайдер, не поддерживающий все необходимые функции для создания файлового канала, выбрасывает UnsupportedOperationException. По умолчанию провайдер должен поддерживать создание файловых каналов. Если не переопределено, реализация по умолчанию выбрасывает UnsupportedOperationException.

Параметры:
path - путь к файлу, который нужно открыть или создать
options - параметры, определяющие, как открывается файл
attrs - необязательный список атрибутов файла, которые должны быть установлены атомарно при создании файла
Возвращает:
новый файловый канал
Выбрасывает:
IllegalArgumentException - Если набор содержит недопустимую комбинацию параметров
UnsupportedOperationException - Если этот провайдер не поддерживает создание файловых каналов или указан неподдерживаемый параметр открытия или атрибут файла
IOException - Если произошла ошибка ввода-вывода
SecurityException - В случае с файловой системой по умолчанию, метод SecurityManager.checkRead(String) вызывается для проверки доступа на чтение, если файл открыт для чтения. Метод SecurityManager.checkWrite(String) вызывается для проверки доступа на запись, если файл открыт для записи

newAsynchronousFileChannel

public AsynchronousFileChannel newAsynchronousFileChannel(Path path,
                                                          Set<? extends OpenOption> options,
                                                          ExecutorService executor,
                                                          FileAttribute<?>... attrs)
                                                   throws IOException

Открывает или создаёт файл для чтения и/или записи, возвращая асинхронный файловый канал для доступа к файлу. Этот метод работает точно так же, как и метод AsynchronousFileChannel.open. Провайдер, не поддерживающий все необходимые функции для создания асинхронного файлового канала, выбрасывает UnsupportedOperationException. По умолчанию провайдер должен поддерживать создание асинхронных файловых каналов. При не переопределении, реализация по умолчанию этого метода выбрасывает UnsupportedOperationException.

Параметры:
path - путь к файлу, который нужно открыть или создать
options - параметры, определяющие, как открывается файл
executor - пул потоков или null для ассоциации канала с пулом потоков по умолчанию
attrs - необязательный список атрибутов файла, которые должны быть установлены атомарно при создании файла
Возвращает:
новый асинхронный файловый канал
Выбрасывает:
IllegalArgumentException - Если набор содержит недопустимую комбинацию параметров
UnsupportedOperationException - Если этот провайдер не поддерживает создание асинхронных файловых каналов или указан неподдерживаемый параметр открытия или атрибут файла
IOException - Если произошла ошибка ввода-вывода
SecurityException - В случае с файловой системой по умолчанию, метод SecurityManager.checkRead(String) вызывается для проверки доступа на чтение, если файл открыт для чтения. Метод SecurityManager.checkWrite(String) вызывается для проверки доступа на запись, если файл открыт для записи

newByteChannel

public abstract SeekableByteChannel newByteChannel(Path path,
                                                   Set<? extends OpenOption> options,
                                                   FileAttribute<?>... attrs)
                                            throws IOException

Открывает или создаёт файл, возвращая доступный для поиска байтовый канал для доступа к файлу. Этот метод работает точно так же, как и метод Files.newByteChannel(Path,Set,FileAttribute[]).

Параметры:
path - путь к файлу, который нужно открыть или создать
options - параметры, определяющие, как открывается файл
attrs - необязательный список атрибутов файла, которые должны быть установлены атомарно при создании файла
Возвращает:
новый байтовый канал с возможностью поиска
Выбрасывает:
IllegalArgumentException - если набор содержит недопустимую комбинацию параметров
UnsupportedOperationException - если указан неподдерживаемый параметр открытия или массив содержит атрибуты, которые нельзя атомарно установить при создании файла
FileAlreadyExistsException - если файл с таким именем уже существует и указан параметр CREATE_NEW (опциональное исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае провайдера по умолчанию и установленного менеджера безопасности, метод checkRead вызывается для проверки доступа на чтение к пути, если файл открыт для чтения. Метод checkWrite вызывается для проверки доступа на запись к пути, если файл открыт для записи. Метод checkDelete вызывается для проверки доступа на удаление, если файл открыт с параметром DELETE_ON_CLOSE.

newDirectoryStream

public abstract DirectoryStream<Path> newDirectoryStream(Path dir,
                                                         DirectoryStream.Filter<? super Path> filter)
                                                  throws IOException

Открывает директорию, возвращая DirectoryStream для итерации по записям в директории. Этот метод работает точно так же, как и метод Files.newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter).

Параметры:
dir - путь к директории
filter - фильтр потока директории
Возвращает:
новый и открытый объект DirectoryStream
Выбрасывает:
NotDirectoryException - если файл не может быть открыт по другим причинам, так как это не директория (опциональное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае провайдера по умолчанию и установленного менеджера безопасности, метод checkRead вызывается для проверки доступа на чтение к директории.

createDirectory

public abstract void createDirectory(Path dir,
                                     FileAttribute<?>... attrs)
                              throws IOException

Создаёт новую директорию. Этот метод работает точно так же, как и метод Files.createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...).

Параметры:
dir - директория для создания
attrs - необязательный список атрибутов файла, которые должны быть установлены атомарно при создании директории
Выбрасывает:
UnsupportedOperationException - если массив содержит атрибут, который нельзя атомарно установить при создании директории
FileAlreadyExistsException - если директория не может быть создана по другим причинам, так как файл с таким именем уже существует (опциональное специфическое исключение)
IOException - если произошла ошибка ввода-вывода или родительская директория не существует
SecurityException - В случае провайдера по умолчанию и установленного менеджера безопасности, метод checkWrite вызывается для проверки доступа на запись к новой директории.

createSymbolicLink

public void createSymbolicLink(Path link,
                               Path target,
                               FileAttribute<?>... attrs)
                        throws IOException

Создаёт символическую ссылку на целевой объект. Этот метод работает точно так же, как и метод Files.createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...).

Реализация по умолчанию этого метода выбрасывает UnsupportedOperationException.

Параметры:
link - путь к символической ссылке, которую нужно создать
target - целевой объект символической ссылки
attrs - массив атрибутов, которые должны быть установлены атомарно при создании символической ссылки
Выбрасывает:
UnsupportedOperationException - если реализация не поддерживает символические ссылки или массив содержит атрибут, который нельзя атомарно установить при создании символической ссылки
FileAlreadyExistsException - если файл с таким именем уже существует (опциональное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае провайдера по умолчанию и установленного менеджера безопасности, он отказывается LinkPermission("symbolic") или его метод checkWrite отказывается от доступа на запись к пути символической ссылки.

createLink

public void createLink(Path link,
                       Path existing)
                throws IOException

Создаёт новую ссылку (запись в каталоге) для существующего файла. Этот метод работает точно так же, как и метод Files.createLink(java.nio.file.Path, java.nio.file.Path).

Реализация по умолчанию этого метода выбрасывает UnsupportedOperationException.

Параметры:
link - ссылка (запись в каталоге) для создания
existing - путь к существующему файлу
Выбрасывает:
UnsupportedOperationException - если реализация не поддерживает добавление существующего файла в каталог
FileAlreadyExistsException - если запись не может быть создана по другим причинам, так как файл с таким именем уже существует (опциональное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае провайдера по умолчанию и установленного менеджера безопасности, он отказывается LinkPermission("hard") или его метод checkWrite отказывается от доступа на запись к ссылке или существующему файлу.

delete

public abstract void delete(Path path)
                     throws IOException

Удаляет файл. Этот метод работает точно так же, как и метод Files.delete(java.nio.file.Path).

Параметры:
path - путь к файлу, который нужно удалить
Исключения:
NoSuchFileException - если файл не существует (необязательное специфическое исключение)
DirectoryNotEmptyException - если файл является каталогом и не может быть удален, потому что каталог не пуст (необязательное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод SecurityManager.checkDelete(String) для проверки доступа к удалению файла

deleteIfExists

public boolean deleteIfExists(Path path)
                       throws IOException

Удаляет файл, если он существует. Этот метод работает точно так же, как и метод Files.deleteIfExists(java.nio.file.Path).

По умолчанию этот метод просто вызывает delete(java.nio.file.Path), игнорируя NoSuchFileException при отсутствии файла. Он может быть переопределён по необходимости.

Параметры:
path - путь к файлу, который нужно удалить
Возвращает:
true если файл был удалён; false если файл не может быть удалён, потому что он не существует
Исключения:
DirectoryNotEmptyException - если файл является каталогом и не может быть удалён, потому что каталог не пуст (необязательное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод SecurityManager.checkDelete(String) для проверки доступа к удалению файла

readSymbolicLink

public Path readSymbolicLink(Path link)
                      throws IOException

Читает целевой объект символической ссылки. Этот метод работает точно так же, как и метод Files.readSymbolicLink(java.nio.file.Path).

По умолчанию этот метод выбрасывает UnsupportedOperationException.

Параметры:
link - путь к символической ссылке
Возвращает:
Целевой объект символической ссылки
Исключения:
UnsupportedOperationException - если реализация не поддерживает символические ссылки
NotLinkException - если целевой объект не может быть прочитан, потому что файл не является символической ссылкой (необязательное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности проверяется, что у FilePermission предоставлено действие "readlink" для чтения ссылки.

copy

public abstract void copy(Path source,
                          Path target,
                          CopyOption... options)
                   throws IOException

Копирует файл в целевой файл. Этот метод работает точно так же, как и метод Files.copy(Path,Path,CopyOption[]), за исключением того, что и путь к исходному, и путь к целевому файлу должны быть связаны с этим провайдером.

Параметры:
source - путь к файлу для копирования
target - путь к целевому файлу
options - параметры, определяющие, как должна быть выполнена операция копирования
Исключения:
UnsupportedOperationException - если массив содержит параметр копирования, который не поддерживается
FileAlreadyExistsException - если целевой файл существует, но не может быть заменён, потому что параметр REPLACE_EXISTING не указан (необязательное специфическое исключение)
DirectoryNotEmptyException - параметр REPLACE_EXISTING указан, но файл не может быть заменён, потому что он является непустым каталогом (необязательное специфическое исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод checkRead для проверки доступа к чтению исходного файла, метод checkWrite вызывается для проверки доступа к записи в целевой файл. Если копируется символическая ссылка, менеджер безопасности вызывается для проверки LinkPermission("symbolic").

move

public abstract void move(Path source,
                          Path target,
                          CopyOption... options)
                   throws IOException

Перемещает или переименовывает файл в целевой файл. Этот метод работает точно так же, как и метод Files.move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...), за исключением того, что и путь к исходному, и путь к целевому файлу должны быть связаны с этим провайдером.

Параметры:
source - путь к файлу, который нужно переместить
target - путь к целевому файлу
options - параметры, определяющие, как должно быть выполнено перемещение
Исключения:
UnsupportedOperationException - если массив содержит параметр копирования, который не поддерживается
FileAlreadyExistsException - если целевой файл существует, но не может быть заменён, потому что параметр REPLACE_EXISTING не указан (необязательное специфическое исключение)
DirectoryNotEmptyException - параметр REPLACE_EXISTING указан, но файл не может быть заменён, потому что он является непустым каталогом (необязательное специфическое исключение)
AtomicMoveNotSupportedException - если массив параметров содержит параметр ATOMIC_MOVE , но файл не может быть перемещён как атомарная операция файловой системы.
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод checkWrite для проверки доступа к записи в исходный и целевой файлы.

isSameFile

public abstract boolean isSameFile(Path path,
                                   Path path2)
                            throws IOException

Проверяет, указывают ли два пути на один и тот же файл. Этот метод работает точно так же, как и метод Files.isSameFile(java.nio.file.Path, java.nio.file.Path).

Параметры:
path - один путь к файлу
path2 - другой путь
Возвращает:
true если, и только если, два пути указывают на один и тот же файл
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод checkRead для проверки доступа к чтению обоих файлов.

isHidden

public abstract boolean isHidden(Path path)
                          throws IOException

Определяет, является ли файл скрытым. Этот метод работает точно так же, как и метод Files.isHidden(java.nio.file.Path).

Этот метод вызывается методом isHidden.

Параметры:
path - путь к файлу для проверки
Возвращает:
true если файл считается скрытым
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод checkRead для проверки доступа к чтению файла.

getFileStore

public abstract FileStore getFileStore(Path path)
                                throws IOException

Возвращает FileStore, представляющий файловую систему, где расположен файл. Этот метод работает точно так же, как и метод Files.getFileStore(java.nio.file.Path).

Параметры:
path - путь к файлу
Возвращает:
файловую систему, где хранится файл
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с провайдером по умолчанию и установленным менеджером безопасности вызывается метод checkRead для проверки доступа к чтению файла, и дополнительно проверяется RuntimePermission("getFileStoreAttributes")

checkAccess

public abstract void checkAccess(Path path,
                                 AccessMode... modes)
                          throws IOException

Проверяет существование файла и, необязательно, доступ к нему.

Этот метод может использоваться методами isReadable, isWritable и isExecutable для проверки доступа к файлу.

Этот метод проверяет существование файла и наличие у виртуальной машины Java соответствующих привилегий, которые позволили бы ей получить доступ к файлу в соответствии со всеми режимами доступа, указанными в параметре modes следующим образом:

Значение Описание
READ Проверяет, что файл существует и что виртуальная машина Java имеет разрешение на чтение файла.
WRITE Проверяет, что файл существует и что виртуальная машина Java имеет разрешение на запись в файл.
EXECUTE Проверяет, что файл существует и что виртуальная машина Java имеет разрешение на execute файла. Семантика может отличаться при проверке доступа к каталогу. Например, в системах UNIX проверка доступа EXECUTE проверяет, имеет ли виртуальная машина Java разрешение на поиск в каталоге для доступа к файлам или подкаталогам.

Если параметр modes имеет нулевую длину, то проверяется только существование файла.

Этот метод следует за символическими ссылками, если файл, на который ссылается данный объект, является символической ссылкой. В зависимости от реализации, этот метод может потребовать чтения разрешений файла, списков управления доступом или других атрибутов файла для проверки эффективного доступа к файлу. Определение эффективного доступа к файлу может потребовать доступа к нескольким атрибутам, и поэтому в некоторых реализациях этот метод может не быть атомарным по отношению к другим операциям с файловой системой.

Параметры:
path - путь к файлу для проверки
modes - режимы доступа для проверки; может иметь нулевые элементы
Исключения:
UnsupportedOperationException - требуется реализация для поддержки проверки READ, WRITE, и EXECUTE доступа. Это исключение предназначено для возможности расширения перечисления Access в будущих релизах.
NoSuchFileException - если файл не существует (необязательное конкретное исключение)
AccessDeniedException - запрашиваемый доступ запрещен или доступ не может быть определен, так как у виртуальной машины Java недостаточно привилегий или по другим причинам. (необязательное конкретное исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности, вызывается checkRead при проверке доступа на чтение к файлу или только существования файла, checkWrite вызывается при проверке доступа на запись в файл, и checkExec вызывается при проверке доступа на выполнение.

getFileAttributeView

public abstract <V extends FileAttributeView> V getFileAttributeView(Path path,
                                                                     Class<V> type,
                                                                     LinkOption... options)

Возвращает представление атрибутов файла заданного типа. Этот метод работает точно так же, как указано в методе Files.getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...).

Тип параметров:
V - тип FileAttributeView
Параметры:
path - путь к файлу
type - объект Class соответствующий представлению атрибутов файла
options - опции, указывающие, как обрабатываются символические ссылки
Возвращает:
представление атрибутов файла указанного типа или null если тип представления атрибутов недоступен

readAttributes

public abstract <A extends BasicFileAttributes> A readAttributes(Path path,
                                                                 Class<A> type,
                                                                 LinkOption... options)
                                                          throws IOException

Считывает атрибуты файла как операцию в блоке. Этот метод работает точно так же, как указано в методе Files.readAttributes(Path,Class,LinkOption[]).

Тип параметров:
A - тип BasicFileAttributes
Параметры:
path - путь к файлу
type - Class требуемых атрибутов файла для чтения
options - опции, указывающие, как обрабатываются символические ссылки
Возвращает:
атрибуты файла
Исключения:
UnsupportedOperationException - если атрибуты данного типа не поддерживаются
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию, если установлен менеджер безопасности, его метод checkRead вызывается для проверки доступа на чтение к файлу

readAttributes

public abstract Map<String,Object> readAttributes​(Path path,
                                                        String attributes,
                                                        LinkOption... options)
                                                 throws IOException

Считывает набор атрибутов файла как операцию в блоке. Этот метод работает точно так же, как указано в методе Files.readAttributes(Path,String,LinkOption[]).

Параметры:
path - путь к файлу
attributes - атрибуты для чтения
options - опции, указывающие, как обрабатываются символические ссылки
Возвращает:
карта возвращаемых атрибутов; может быть пустой. Ключи карты — имена атрибутов, значения — значения атрибутов
Исключения:
UnsupportedOperationException - если представление атрибутов недоступно
IllegalArgumentException - если не указаны атрибуты или указан неизвестный атрибут
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности, его метод checkRead запрещает доступ на чтение к файлу. Если этот метод вызван для чтения атрибутов, чувствительных к безопасности, менеджер безопасности может быть вызван для проверки дополнительных разрешений.

setAttribute

public abstract void setAttribute(Path path,
                                  String attribute,
                                  Object value,
                                  LinkOption... options)
                           throws IOException

Устанавливает значение атрибута файла. Этот метод работает точно так же, как указано в методе Files.setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...).

Параметры:
path - путь к файлу
attribute - атрибут для установки
value - значение атрибута
options - опции, указывающие, как обрабатываются символические ссылки
Исключения:
UnsupportedOperationException - если представление атрибутов недоступно
IllegalArgumentException - если имя атрибута не указано или не распознано, или значение атрибута имеет правильный тип, но неподходящее значение
ClassCastException - Если значение атрибута не имеет ожидаемого типа или является коллекцией, содержащей элементы, которые не имеют ожидаемого типа
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности, его метод checkWrite запрещает доступ на запись в файл. Если этот метод вызван для установки атрибутов, чувствительных к безопасности, менеджер безопасности может быть вызван для проверки дополнительных разрешений.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/spi/FileSystemProvider.html

Spec-Zone .ru
спецификации, руководства, описания, API