Spec-Zone.ru › OpenJDK 27

Класс 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 создаётся при инициализации поставщика.

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

Начиная с версии:
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)
Задаёт значение атрибута файла.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного интервала реального времени.

Подробное описание конструкторов

FileSystemProvider

protected 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 — если при создании файловой системы возникает ошибка ввода-вывода
FileSystemAlreadyExistsException — если файловая система уже создана

getFileSystem

public abstract FileSystem getFileSystem(URI uri)
Возвращает существующую файловую систему FileSystem, созданную этим провайдером.

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

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

Параметры:
uri — ссылка URI
Возвращает:
Файловая система
Вызывает исключение:
IllegalArgumentException — если не соблюдены предварительные условия для параметра uri
FileSystemNotFoundException — если файловая система не существует

getPath

public abstract Path getPath(URI uri)
Возвращает объект Path, преобразуя указанный URI. Полученный Path связан с уже существующей или автоматически создаваемой FileSystem.

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

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

newFileSystem

public FileSystem newFileSystem(Path path, Map<String,?> env) throws IOException
Создаёт новую FileSystem для доступа к содержимому файла как к файловой системе.

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

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

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

newInputStream

public InputStream newInputStream(Path path, OpenOption... options) throws IOException
Открывает файл и возвращает входной поток для чтения из него. Этот метод работает точно так, как указано в методе Files.newInputStream(Path, OpenOption...).

Реализация этого метода по умолчанию открывает канал к файлу, как если бы был вызван метод newByteChannel(Path, Set, FileAttribute...), и создаёт поток, считывающий байты из канала. При необходимости следует переопределить этот метод.

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

newOutputStream

public OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
Открывает или создаёт файл и возвращает выходной поток для записи в него байтов. Этот метод работает точно так, как указано в методе Files.newOutputStream(Path, OpenOption...).

Реализация этого метода по умолчанию открывает канал к файлу, как если бы был вызван метод newByteChannel(Path, Set, FileAttribute...), и создаёт поток, записывающий байты в канал. При необходимости следует переопределить этот метод.

Параметры:
path — путь к файлу, который нужно открыть или создать
options — параметры, указывающие, как открыть файл
Возвращает:
новый выходной поток
Вызывает исключение:
IllegalArgumentException — если options содержит недопустимую комбинацию параметров
UnsupportedOperationException — если указан неподдерживаемый параметр
IOException — если возникает ошибка ввода-вывода
FileAlreadyExistsException — если файл с таким именем уже существует и указан параметр CREATE_NEW (необязательное конкретное исключение)

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 — если возникает ошибка ввода-вывода

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 — если возникает ошибка ввода-вывода

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 — если возникает ошибка ввода-вывода

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 — если возникает ошибка ввода-вывода

createDirectory

public abstract void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
Создаёт новый каталог. Этот метод работает точно так, как указано в методе Files.createDirectory(Path, FileAttribute...).
Параметры:
dir — каталог для создания
attrs — необязательный список атрибутов файла, которые нужно установить атомарно при создании каталога
Вызывает исключение:
UnsupportedOperationException — если массив содержит атрибут, который нельзя установить атомарно при создании каталога
FileAlreadyExistsException — если каталог не удалось создать по другой причине: файл с таким именем уже существует (необязательное конкретное исключение)
IOException — если возникает ошибка ввода-вывода или родительский каталог не существует

createSymbolicLink

public void createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
Создаёт символическую ссылку на целевой объект. Этот метод работает точно так, как указано в методе Files.createSymbolicLink(Path, Path, FileAttribute...).

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

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

createLink

public void createLink(Path link, Path existing) throws IOException
Создаёт новую ссылку (запись каталога) на существующий файл. Этот метод работает точно так, как указано в методе Files.createLink(Path, Path).

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

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

delete

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

deleteIfExists

public boolean deleteIfExists(Path path) throws IOException
Удаляет файл, если он существует. Этот метод работает точно так, как указано в методе Files.deleteIfExists(Path).

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

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

readSymbolicLink

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

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

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

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 — если возникает ошибка ввода-вывода

move

public abstract void move(Path source, Path target, CopyOption... options) throws IOException
Перемещает или переименовывает файл, задавая целевой файл. Этот метод работает точно так, как указано в методе Files.move(Path, Path, CopyOption...), за исключением того, что исходный и целевой пути должны быть связаны с этим провайдером.
Параметры:
source — путь к перемещаемому файлу
target — путь к целевому файлу
options — параметры, определяющие способ перемещения
Вызывает исключение:
UnsupportedOperationException — если массив содержит неподдерживаемый параметр копирования
FileAlreadyExistsException — если целевой файл существует, но его нельзя заменить, поскольку параметр REPLACE_EXISTING не указан (необязательное конкретное исключение)
DirectoryNotEmptyException — если указан параметр REPLACE_EXISTING, но файл нельзя заменить, поскольку он является непустым каталогом (необязательное конкретное исключение)
AtomicMoveNotSupportedException — если массив параметров содержит параметр ATOMIC_MOVE, но файл нельзя переместить как атомарную операцию файловой системы.
IOException — если возникает ошибка ввода-вывода

isSameFile

public abstract boolean isSameFile(Path path, Path path2) throws IOException
Проверяет, указывают ли два пути на один и тот же файл. Этот метод работает точно так, как указано в методе Files.isSameFile(Path, Path).
Параметры:
path — один из путей к файлу
path2 — другой путь
Возвращает:
true, если и только если оба пути указывают на один и тот же файл
Вызывает исключение:
IOException — если возникает ошибка ввода-вывода

isHidden

public abstract boolean isHidden(Path path) throws IOException
Сообщает, считается ли файл скрытым. Этот метод работает точно так, как указано в методе Files.isHidden(Path).

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

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

getFileStore

public abstract FileStore getFileStore(Path path) throws IOException
Возвращает объект FileStore, представляющий файловое хранилище, в котором находится файл. Этот метод работает точно так, как указано в методе Files.getFileStore(Path).
Параметры:
path — путь к файлу
Возвращает:
файловое хранилище, в котором находится файл
Вызывает исключение:
IOException — если возникает ошибка ввода-вывода

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 — если возникает ошибка ввода-вывода

getFileAttributeView

public abstract <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options)
Возвращает представление атрибутов файла заданного типа. Этот метод работает точно так, как указано в методе Files.getFileAttributeView(Path, Class, 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 — если возникает ошибка ввода-вывода

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 — если возникает ошибка ввода-вывода

setAttribute

public abstract void setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
Задает значение атрибута файла. Этот метод работает точно так, как указано в методе Files.setAttribute(Path, String, Object, LinkOption...).
Параметры:
path — путь к файлу
attribute — задаваемый атрибут
value — значение атрибута
options — параметры, указывающие, как обрабатывать символические ссылки
Исключения:
UnsupportedOperationException — если представление атрибутов недоступно
IllegalArgumentException — если имя атрибута не указано или не распознано либо значение атрибута имеет правильный тип, но недопустимое значение
ClassCastException — если значение атрибута не имеет ожидаемого типа или представляет собой коллекцию, содержащую элементы не ожидаемого типа
IOException — если возникает ошибка ввода-вывода

exists

public boolean exists(Path path, LinkOption... options)
Проверяет, существует ли файл. Этот метод работает точно так, как указано в методе Files.exists(Path, LinkOption...).
Требования к реализации:
Реализация этого метода по умолчанию вызывает метод checkAccess(Path, AccessMode...), если переход по символическим ссылкам разрешен. Если указан параметр NOFOLLOW_LINKS, переход по символическим ссылкам не выполняется и для определения существования файла вызывается метод readAttributes(Path, Class, LinkOption...).
Параметры:
path — путь к проверяемому файлу
options — параметры, указывающие, как обрабатывать символические ссылки
Возвращает:
true, если файл существует; false, если файл не существует или невозможно определить, существует ли он.
С:
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 — Class атрибутов файла, которые требуется считать
options — параметры, указывающие, как обрабатывать символические ссылки
Возвращает:
атрибуты файла или null, если файл не существует
Исключения:
UnsupportedOperationException — если атрибуты заданного типа не поддерживаются
IOException — если возникает ошибка ввода-вывода
С:
20

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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