Пакет java.nio.file

Определяет интерфейсы и классы для доступа к файлам, атрибутам файлов и файловым системам в виртуальной машине Java.

Пакет java.nio.file определяет классы для доступа к файлам и файловым системам. API для доступа к атрибутам файлов и файловых систем определен в пакете java.nio.file.attribute. Пакет java.nio.file.spi используется реализаторами поставщиков сервисов, желающими расширить платформенный поставщик по умолчанию или создать другие реализации поставщиков.

Символические ссылки

Многие операционные системы и файловые системы поддерживают символические ссылки. Символическая ссылка — это специальный файл, который служит ссылкой на другой файл. В основном, символические ссылки прозрачны для приложений, и операции со символическими ссылками автоматически перенаправляются на целевой файл ссылки. Исключением являются случаи удаления или переименования/перемещения символической ссылки, в которых случае ссылка удаляется или удаляется, а не целевой файл ссылки. Этот пакет включает поддержку символических ссылок, где реализации обеспечивают эти семантики. Файловые системы могут поддерживать другие типы, которые семантически близки, но поддержка других типов ссылок не включена в этот пакет.

Взаимодействие

Класс File определяет метод toPath для построения Path путем преобразования абстрактного пути, представленного объектом java.io.File. Полученный Path может использоваться для работы с тем же файлом, что и объект File. Спецификация Path предоставляет дополнительную информацию о взаимодействии взаимодействии между объектами Path и java.io.File.

Видимость

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

Целостность синхронизированного ввода-вывода файлов

Опции SYNC и DSYNC используются при открытии файла, чтобы потребовать, чтобы обновления файла были синхронно записаны на базовое устройство хранения. В случае с поставщиком по умолчанию и если файл находится на локальном устройстве хранения, а канал seekable подключен к файлу, открытому с одной из этих опций, то вызов метода write гарантированно вернет только тогда, когда все изменения, внесенные в файл этим вызовом, были записаны на устройство. Эти опции полезны для обеспечения того, что критическая информация не потеряется в случае сбоя системы. Если файл не находится на локальном устройстве, то такая гарантия не предоставляется. Возможно ли эта гарантия с другими реализациями provider зависит от конкретного поставщика.

Общие исключения

Если не указано иное, передача аргумента null конструктору или методу любого класса или интерфейса в этом пакете приведет к выбросу исключения NullPointerException. Кроме того, вызов метода с массивом или коллекцией, содержащей элемент null, приведет к выбросу исключения NullPointerException, если не указано иное.

Если не указано иное, методы, которые пытаются получить доступ к файловой системе, будут выбрасывать ClosedFileSystemException при вызове на объектах, связанных с FileSystem, который был закрыт closed. Кроме того, любые методы, которые пытаются получить доступ для записи в файловую систему, будут выбрасывать ReadOnlyFileSystemException при вызове на объекте, связанном с FileSystem, предоставляющем только чтение.

Если не указано иное, вызов метода любого класса или интерфейса в этом пакете, созданного одним provider, с параметром, являющимся объектом, созданным другим поставщиком, приведет к выбросу исключения ProviderMismatchException.

Дополнительные специфические исключения

Большинство методов, определенных классами в этом пакете, которые обращаются к файловой системе, указывают, что при возникновении ошибки ввода-вывода должно быть выброшено исключение IOException. В некоторых случаях эти методы определяют специфические исключения ввода-вывода для распространенных случаев. Эти исключения, указанные как дополнительные специфические исключения, выбрасываются реализацией, когда она может определить конкретную ошибку. Если конкретная ошибка не может быть определена, то выбрасывается более общее исключение IOException.
С:
1.7
Интерфейс Описание
CopyOption

Объект, который настраивает способ копирования или перемещения файла.

DirectoryStream<T>

Объект для итерации по записям в каталоге.

DirectoryStream.Filter<T>

Интерфейс, реализуемый объектами, которые определяют, следует ли принимать запись в каталоге или отфильтровывать ее.

FileVisitor<T>

Визитор файлов.

OpenOption

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

Path

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

PathMatcher

Интерфейс, реализуемый объектами, которые выполняют операции сопоставления с путями.

SecureDirectoryStream<T>

DirectoryStream определяет операции с файлами, которые расположены относительно открытого каталога.

Watchable

Объект, который может быть зарегистрирован в службе наблюдения, чтобы можно было отслеживать изменения и события.

WatchEvent<T>

Событие или повторяющееся событие для объекта, зарегистрированного в WatchService.

WatchEvent.Kind<T>

Тип события для целей идентификации.

WatchEvent.Modifier

Модификатор события, который определяет, как Watchable регистрируется в WatchService.

WatchKey

Токен, представляющий регистрацию объекта watchable в WatchService.

WatchService

Служба наблюдения, которая отслеживает зарегистрированные объекты на предмет изменений и событий.

Класс Описание
Files

Этот класс состоит исключительно из статических методов, которые работают с файлами, каталогами или другими типами файлов.

FileStore

Хранилище для файлов.

FileSystem

Обеспечивает интерфейс к файловой системе и является фабрикой для объектов доступа к файлам и другим объектам в файловой системе.

FileSystems

Методы-фабрики для файловых систем.

LinkPermission

Класс Permission для операций создания ссылок.

Paths

Этот класс состоит исключительно из статических методов, которые возвращают Path путем преобразования строки пути или URI.

SimpleFileVisitor<T>

Простой посетитель файлов с поведением по умолчанию для посещения всех файлов и повторной переброски ошибок ввода-вывода.

StandardWatchEventKinds

Определяет стандартные типы событий.

Перечисление Описание
AccessMode

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

FileVisitOption

Определяет параметры обхода дерева файлов.

FileVisitResult

Тип результата FileVisitor.

LinkOption

Определяет параметры обработки символических ссылок.

StandardCopyOption

Определяет стандартные параметры копирования.

StandardOpenOption

Определяет стандартные параметры открытия.

Исключение Описание
AccessDeniedException

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

AtomicMoveNotSupportedException

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

ClosedDirectoryStreamException

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

ClosedFileSystemException

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

ClosedWatchServiceException

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

DirectoryIteratorException

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

DirectoryNotEmptyException

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

FileAlreadyExistsException

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

FileSystemAlreadyExistsException

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

FileSystemException

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

FileSystemLoopException

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

FileSystemNotFoundException

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

InvalidPathException

Непроверяемое исключение, выбрасываемое, когда строка пути не может быть преобразована в Path из-за недопустимых символов в строке пути или некорректного пути для файловой системы.

NoSuchFileException

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

NotDirectoryException

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

NotLinkException

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

ProviderMismatchException

Непроверяемое исключение, выбрасываемое, когда попытка вызвать метод на объекте, созданном одним поставщиком файловой системы, с параметром, созданным другим поставщиком файловой системы.

ProviderNotFoundException

Исключение времени выполнения, выбрасываемое, когда не найден поставщик требуемого типа.

ReadOnlyFileSystemException

Непроверяемое исключение, выбрасываемое, когда попытка обновить объект, связанный с read-only FileSystem.

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

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