Spec-Zone.ru › OpenJDK 8

Класс 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

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

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

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

Методы

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

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

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

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

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

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

void createLink(Path link, Path existing)

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

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

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

abstract void delete(Path path)

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

boolean deleteIfExists(Path path)

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

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

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

abstract FileStore getFileStore(Path path)

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

abstract FileSystem getFileSystem(URI uri)

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

abstract Path getPath(URI uri)

Возвращает объект Path путём преобразования данного URI.

abstract String getScheme()

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

static List<FileSystemProvider> installedProviders()

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

abstract boolean isHidden(Path path)

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

abstract boolean isSameFile(Path path, Path path2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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<?>...) и создаёт поток, который записывает байты в канал. Этот метод следует переопределять при необходимости.

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

newFileChannel

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

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

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

newAsynchronousFileChannel

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

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

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

newByteChannel

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

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

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

newDirectoryStream

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

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

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

createDirectory

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

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

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

createSymbolicLink

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

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

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

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

createLink

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

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

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

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

удаление

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

получение хранилища файлов

public abstract FileStore getFileStore(Path path)
                                throws IOException

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

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

проверка доступа

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

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

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

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

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

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

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

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

getFileAttributeView

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

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

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

readAttributes

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

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

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

readAttributes

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

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

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

setAttribute

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

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

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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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