Пакет java.nio.file
Пакет 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, если не указано иное.
Если не указано иное, методы, пытающиеся получить доступ к файловой системе, при вызове для объектов, связанных с файловой системой FileSystem, которая была closed, выбрасывают исключение ClosedFileSystemException. Кроме того, любые методы, пытающиеся получить доступ к файловой системе на запись, при вызове для объекта, связанного с файловой системой FileSystem, предоставляющей доступ только для чтения, выбрасывают исключение ReadOnlyFileSystemException.
Если не указано иное, вызов метода любого класса или интерфейса этого пакета, созданного одним поставщиком provider, с параметром, являющимся объектом, созданным другим поставщиком, приводит к выбрасыванию исключения ProviderMismatchException.
Необязательные специализированные исключения
Большинство методов классов этого пакета, обращающихся к файловой системе, указывают, что при возникновении ошибки ввода-вывода следует выбрасывать исключениеIOException. В некоторых случаях для распространённых ситуаций эти методы определяют конкретные исключения ввода-вывода. Эти исключения, обозначенные как необязательные специализированные исключения, выбрасываются реализацией, если она может определить конкретную ошибку. Если конкретную ошибку определить невозможно, выбрасывается более общее исключение
IOException.- Начиная с версии:
- 1.7
| Класс | Описание |
|---|---|
| AccessDeniedException | Проверяемое исключение, выбрасываемое при запрете операции файловой системы, обычно из-за разрешений на файл или другой проверки доступа. |
| AccessMode | Определяет режимы доступа, используемые для проверки доступности файла. |
| AtomicMoveNotSupportedException | Проверяемое исключение, выбрасываемое, если файл невозможно переместить как атомарную операцию файловой системы. |
| ClosedDirectoryStreamException | Непроверяемое исключение, выбрасываемое при попытке выполнить операцию с закрытым потоком каталога. |
| ClosedFileSystemException | Непроверяемое исключение, выбрасываемое при попытке выполнить операцию с файлом, когда файловая система закрыта. |
| ClosedWatchServiceException | Непроверяемое исключение, выбрасываемое при попытке выполнить операцию с закрытой службой наблюдения. |
| CopyOption | Объект, задающий способ копирования или перемещения файла. |
| DirectoryIteratorException | Исключение времени выполнения, выбрасываемое при возникновении ошибки ввода-вывода во время перебора записей каталога. |
| DirectoryNotEmptyException | Проверяемое исключение, выбрасываемое при неудачном выполнении операции файловой системы из-за того, что каталог не пуст. |
| DirectoryStream<T> | Объект для перебора записей каталога. |
| DirectoryStream.Filter<T> | Интерфейс, реализуемый объектами, определяющими, следует ли принять или отфильтровать запись каталога. |
| FileAlreadyExistsException | Проверяемое исключение, выбрасываемое при попытке создать файл или каталог, если файл с таким именем уже существует. |
| Files | Этот класс состоит исключительно из статических методов для работы с файлами, каталогами и другими типами файлов. |
| FileStore | Хранилище файлов. |
| FileSystem | Предоставляет интерфейс к файловой системе и служит фабрикой объектов для доступа к файлам и другим объектам файловой системы. |
| FileSystemAlreadyExistsException | Исключение времени выполнения, выбрасываемое при попытке создать уже существующую файловую систему. |
| FileSystemException | Выбрасывается при неудачном выполнении операции файловой системы над одним или двумя файлами. |
| FileSystemLoopException | Проверяемое исключение, выбрасываемое при обнаружении цикла файловой системы. |
| FileSystemNotFoundException | Исключение времени выполнения, выбрасываемое, если файловую систему не удаётся найти. |
| FileSystems | Фабричные методы для файловых систем. |
| FileVisitOption | Определяет параметры обхода дерева файлов. |
| FileVisitor<T> | Посетитель файлов. |
| FileVisitResult | Тип результата работы FileVisitor. |
| InvalidPathException | Непроверяемое исключение, выбрасываемое, если строку пути невозможно преобразовать в объект Path из-за недопустимых символов в строке пути или по другим причинам, связанным с конкретной файловой системой. |
| LinkOption | Определяет параметры обработки символических ссылок. |
| LinkPermission | Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Это разрешение нельзя использовать для контроля доступа к ресурсам, поскольку диспетчер безопасности больше не поддерживается. |
| NoSuchFileException | Проверяемое исключение, выбрасываемое при попытке получить доступ к несуществующему файлу. |
| NotDirectoryException | Проверяемое исключение, выбрасываемое, если предназначенная для каталога операция файловой системы завершается неудачей, потому что файл не является каталогом. |
| NotLinkException | Проверяемое исключение, выбрасываемое при неудачном выполнении операции файловой системы из-за того, что файл не является символической ссылкой. |
| OpenOption | Объект, задающий способ открытия или создания файла. |
| Path | Объект, который можно использовать для поиска файла в файловой системе. |
| PathMatcher | Интерфейс, реализуемый объектами, выполняющими сопоставление путей. |
| Paths | |
| ProviderMismatchException | Непроверяемое исключение, выбрасываемое при попытке вызвать метод объекта, созданного одним поставщиком файловой системы, с параметром, созданным другим поставщиком файловой системы. |
| ProviderNotFoundException | Исключение времени выполнения, выбрасываемое, если не удаётся найти поставщика требуемого типа. |
| ReadOnlyFileSystemException | Непроверяемое исключение, выбрасываемое при попытке обновить объект, связанный с файловой системой read-only FileSystem. |
| SecureDirectoryStream<T> | DirectoryStream, определяющий операции с файлами, расположенными относительно открытого каталога. |
| SimpleFileVisitor<T> | Простой посетитель файлов, поведение которого по умолчанию предусматривает посещение всех файлов и повторный выброс ошибок ввода-вывода. |
| StandardCopyOption | Определяет стандартные параметры копирования. |
| StandardOpenOption | Определяет стандартные параметры открытия. |
| StandardWatchEventKinds | Определяет стандартные типы событий. |
| Watchable | Объект, который можно зарегистрировать в службе наблюдения, чтобы наблюдать за изменениями и событиями. |
| WatchEvent<T> | Событие или повторяющееся событие для объекта, зарегистрированного в WatchService. |
| WatchEvent.Kind<T> | Тип события, используемый для его идентификации. |
| WatchEvent.Modifier | Модификатор события, уточняющий способ регистрации объекта Watchable в WatchService. |
| WatchKey | Токен, представляющий регистрацию объекта watchable в WatchService. |
| WatchService | Служба наблюдения, которая отслеживает изменения и события для зарегистрированных объектов. |
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/file/package-summary.html