Spec-Zone.ru › OpenJDK 21

Класс FileSystemProvider

java.lang.Object
java.nio.file.spi.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 создаётся при инициализации провайдера.

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

Since:
1.7

Краткое описание конструкторов

FileSystemProvider()
Модификатор Конструктор Описание
protected
Инициализирует новый экземпляр этого класса.

Краткое описание методов

Модификатор и тип Метод Описание
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)
Удаляет файл, если он существует.
boolean exists(Path path, LinkOption... options)
Проверяет существование файла.
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)
Читает набор атрибутов файла как операцию сжатия.
<A extends BasicFileAttributes>
A
readAttributesIfExists(Path path, Class<A> type, 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 равен "/", а компоненты authority, query и fragment не определены (неопределённые компоненты представлены как 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 есть ненулевой компонент пути, а компоненты query и fragment не определены. Полученный Path связан с файловой системой по умолчанию default FileSystem.

Если установлен менеджер безопасности, то реализация поставщика может потребовать проверки разрешения. В случае файловой системы 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 - если произошла ошибка ввода-вывода
FileAlreadyExistsException - Если файл с таким именем уже существует, и указан параметр CREATE_NEW (возможное специфическое исключение)
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 - если поставщик не поддерживает создание каналов файлов, или указан неподдерживаемый параметр открытия или атрибут файла
FileAlreadyExistsException - Если файл с таким именем уже существует, и указан параметр CREATE_NEW при открытии файла для записи (возможное специфическое исключение)
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 - если поставщик не поддерживает создание асинхронных каналов файлов, или указан неподдерживаемый параметр открытия или атрибут файла
FileAlreadyExistsException - Если файл с таким именем уже существует, и указан параметр CREATE_NEW при открытии файла для записи (возможное специфическое исключение)
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
Открывает директорию, возвращая итератор для перебора элементов в директории. Этот метод работает точно так же, как и метод Files.newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter).
Параметры:
dir - путь к директории
filter - фильтр потока директории
Возвращает:
новый и открытый объект итератора
Исключения:
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 для проверки доступа к записи в новую директорию.

созданиеСимволическойСсылки

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 отказывается предоставить доступ для записи к пути символической ссылки.

созданиеСсылки

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 отказывается предоставить доступ для записи к ссылке или существующему файлу.

удалить

public abstract void delete(Path path) throws IOException
Удаляет файл. Этот метод работает точно так же, как и метод Files.delete(java.nio.file.Path).
Параметры:
path - путь к файлу для удаления
Исключения:
NoSuchFileException - если файла не существует (возможно, конкретное исключение)
DirectoryNotEmptyException - если файл является каталогом и не может быть удалён, потому что каталог не пустой (возможно, конкретное исключение)
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности вызывается метод SecurityManager.checkDelete(String) для проверки доступа к удалению файла

удалитьЕслиСуществует

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) для проверки доступа к удалению файла

читатьСимволическуюСсылка

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

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

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

копировать

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").

переместить

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 для проверки доступа для записи к исходному и целевому файлу.

являетсяТемЖеФайлом

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 для проверки доступа для чтения к обоим файлам.

скрытый

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).
Parameters:
path - путь к файлу
Returns:
хранилище файлов, где хранится файл
Throws:
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 имеет длину ноль, то проверяется существование файла.

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

Parameters:
path - путь к файлу для проверки
modes - Режимы доступа для проверки; может быть нулевым
Throws:
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...).
Type Parameters:
V - Тип FileAttributeView
Parameters:
path - путь к файлу
type - объект Class, соответствующий представлению атрибутов файла
options - параметры, указывающие, как обрабатываются символические ссылки
Returns:
представление атрибутов файла указанного типа или null, если представление атрибутов типа недоступно

readAttributes

public abstract <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException
Считывает атрибуты файла как операцию пакетной обработки. Этот метод работает точно так же, как и метод Files.readAttributes(Path,Class,LinkOption[]).
Type Parameters:
A - Тип BasicFileAttributes
Parameters:
path - путь к файлу
type - Class требуемых атрибутов файла для считывания
options - параметры, указывающие, как обрабатываются символические ссылки
Returns:
атрибуты файла
Throws:
UnsupportedOperationException - если атрибуты заданного типа не поддерживаются
IOException - если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности, вызывается метод checkRead для проверки доступа на чтение к файлу

readAttributes

public abstract Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException
Считывает набор атрибутов файла как операцию пакетной обработки. Этот метод работает точно так же, как и метод Files.readAttributes(Path,String,LinkOption[]).
Parameters:
path - путь к файлу
attributes - атрибуты для чтения
options - параметры, указывающие, как обрабатываются символические ссылки
Returns:
карта возвращенных атрибутов; может быть пустой. Ключи карты — имена атрибутов, значения — значения атрибутов
Throws:
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...).
Parameters:
path - путь к файлу
attribute - атрибут для установки
value - значение атрибута
options - параметры, указывающие, как обрабатываются символические ссылки
Throws:
UnsupportedOperationException - если представление атрибутов недоступно
IllegalArgumentException - если имя атрибута не указано или не распознано, или значение атрибута имеет правильный тип, но имеет неприемлемое значение
ClassCastException - Если значение атрибута не имеет ожидаемого типа или является коллекцией, содержащей элементы, которые не имеют ожидаемого типа
IOException - Если произошла ошибка ввода-вывода
SecurityException - В случае с поставщиком по умолчанию и установленным менеджером безопасности, его метод checkWrite запрещает запись в файл. Если этот метод вызывается для установки конфиденциальных атрибутов безопасности, менеджер безопасности может быть вызван для проверки дополнительных разрешений.

exists

public boolean exists(Path path, LinkOption... options)
Проверяет, существует ли файл. Этот метод работает точно так же, как и метод Files.exists(Path, LinkOption...).
Implementation Requirements:
Реализация по умолчанию этого метода вызывает метод checkAccess(Path, AccessMode...), когда символические ссылки следуют. Если параметр NOFOLLOW_LINKS присутствует, то символические ссылки не следуют, и вызывается метод readAttributes(Path, Class, LinkOption...) для определения, существует ли файл.
Parameters:
path - путь к файлу для проверки
options - параметры, указывающие, как обрабатываются символические ссылки
Returns:
true если файл существует; false если файл не существует или его существование нельзя определить.
Throws:
SecurityException - В случае с поставщиком по умолчанию, вызывается SecurityManager.checkRead(String) для проверки доступа на чтение к файлу.
Since:
20

readAttributesIfExists

public <A extends BasicFileAttributes> A readAttributesIfExists(Path path, Class<A> type, LinkOption... options) throws IOException
Читает атрибуты файла как операцию сжатия, если файл существует.

Параметр type — тип требуемых атрибутов, и этот метод возвращает экземпляр этого типа, если он поддерживается. Все реализации поддерживают базовый набор атрибутов файла, поэтому вызов этого метода с параметром type типа BasicFileAttributes.class не выбросит UnsupportedOperationException.

Массив options может использоваться для указания обработки символических ссылок в случае, если файл является символической ссылкой. По умолчанию символические ссылки отслеживаются, и считываются атрибуты файла конечного объекта ссылки. Если опция NOFOLLOW_LINKS присутствует, то символические ссылки не отслеживаются.

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

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

© 1993, 2023, 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/21/docs/api/java.base/java/nio/file/spi/FileSystemProvider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API