Spec-Zone.ru › OpenJDK 17

Класс FileSystemProvider

java.lang.Object
java.nio.file.spi.FileSystemProvider
public abstract class FileSystemProvider extends Object
Класс поставщика служб для файловых систем. Методы, определённые классом Files, как правило, делегируют вызовы экземпляру этого класса.

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

Поставщик является фабрикой для одного или нескольких экземпляров FileSystem. Каждая файловая система идентифицируется 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)
Удаляет файл, если он существует.
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 связан с файловой системой по умолчанию 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<?>...), и создаёт поток, который записывает байты в канал. Этот метод следует переопределять, если необходимо.

Parameters:
path - путь к файлу для открытия или создания
options - параметры, определяющие способ открытия файла
Returns:
новый поток вывода
Throws:
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.
Parameters:
path - путь к файлу для открытия или создания
options - параметры, определяющие способ открытия файла
attrs - необязательный список атрибутов файла для атомарной установки при создании файла
Returns:
новый файловый канал
Throws:
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.
Parameters:
path - путь к файлу для открытия или создания
options - параметры, определяющие способ открытия файла
executor - пул потоков или null для связывания канала с пулом потоков по умолчанию
attrs - необязательный список атрибутов файла для атомарной установки при создании файла
Returns:
новый асинхронный файловый канал
Throws:
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[]).
Parameters:
path - путь к файлу для открытия или создания
options - параметры, определяющие способ открытия файла
attrs - необязательный список атрибутов файла для атомарной установки при создании файла
Returns:
новый байтовый канал, доступный для поиска
Throws:
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).
Parameters:
dir - путь к каталогу
filter - фильтр потока каталога
Returns:
новый и открытый объект
Throws:
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<?>...).
Parameters:
dir - каталог для создания
attrs - необязательный список атрибутов файла для атомарной установки при создании каталога
Throws:
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 для проверки разрешения на чтение обоих файлов.

isHidden

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

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

Parameters:
path - путь к файлу для проверки
Returns:
true если файл считается скрытым
Throws:
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 для отказа в доступе для записи к файлу. Если этот метод вызывается для установки атрибутов, чувствительных к безопасности, менеджер безопасности может быть вызван для проверки дополнительных разрешений.

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

Spec-Zone.ru

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