Пакет 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, если не указано иное.
Если не указано иное, методы, которые пытаются получить доступ к файловой системе, будут выбрасывать исключение ClosedFileSystemException при вызове на объектах, связанных с FileSystem, который был closed. Кроме того, любые методы, пытающиеся получить доступ для записи в файловую систему, будут выбрасывать исключение ReadOnlyFileSystemException, когда они вызываются на объекте, связанном с FileSystem, который предоставляет только чтение.
Если не указано иное, вызов метода любого класса или интерфейса в этом пакете, созданного одним provider, с параметром, являющимся объектом, созданным другим поставщиком, вызовет исключение ProviderMismatchException.
Дополнительные специфические исключения
Большинство методов, определенных классами в этом пакете, которые обращаются к файловой системе, указывают, чтоIOException будет выбрасываться при возникновении ошибки ввода-вывода. В некоторых случаях эти методы определяют конкретные исключения ввода-вывода для распространенных случаев. Эти исключения, отмеченные как дополнительные специфические исключения, выбрасываются реализацией, где она может определить конкретную ошибку. Если конкретная ошибка не может быть обнаружена, то выбрасывается более общее исключение
IOException.- Since:
- 1.7
| Класс | Описание |
|---|---|
| AccessDeniedException | Исключение, выбрасываемое при отказе в доступе к файловой системе, обычно из-за ограничений на права доступа к файлу или другим проверкам доступа. |
| AccessMode | Определяет режимы доступа, используемые для проверки доступности файла. |
| AtomicMoveNotSupportedException | Исключение, выбрасываемое, когда файл нельзя переместить как атомную операцию файловой системы. |
| ClosedDirectoryStreamException | Исключение, которое не обрабатывается (unchecked), выбрасывается при попытке вызова операции над потоком каталога, который закрыт. |
| ClosedFileSystemException | Исключение, которое не обрабатывается (unchecked), выбрасываемое при попытке вызова операции над файлом, если файловая система закрыта. |
| ClosedWatchServiceException | Исключение, которое не обрабатывается (unchecked), выбрасываемое при попытке вызова операции над службой наблюдения, которая закрыта. |
| CopyOption | Объект, который настраивает способ копирования или перемещения файла. |
| DirectoryIteratorException | Исключение выполнения, выбрасываемое, если при итерации по записям в каталоге возникла ошибка ввода-вывода. |
| DirectoryNotEmptyException | Исключение, выбрасываемое при сбое операции файловой системы, потому что каталог не пуст. |
| DirectoryStream<T> | Объект для итерации по записям в каталоге. |
| DirectoryStream.Filter<T> | Интерфейс, реализуемый объектами, которые определяют, следует ли принимать запись каталога или отфильтровывать ее. |
| FileAlreadyExistsException | Исключение, выбрасываемое при попытке создания файла или каталога, если файл с таким именем уже существует. |
| Files | Этот класс состоит исключительно из статических методов, которые работают с файлами, каталогами или другими типами файлов. |
| FileStore | Хранилище для файлов. |
| FileSystem | Предоставляет интерфейс к файловой системе и является фабрикой для объектов, которые обеспечивают доступ к файлам и другим объектам в файловой системе. |
| FileSystemAlreadyExistsException | Исключение выполнения, выбрасываемое при попытке создания файловой системы, которая уже существует. |
| FileSystemException | Выбрасывается, когда операция файловой системы завершается неудачно для одного или двух файлов. |
| FileSystemLoopException | Исключение, которое обрабатывается (checked), выбрасываемое при обнаружении цикла (петли) в файловой системе. |
| FileSystemNotFoundException | Исключение выполнения, выбрасываемое, когда файловая система не найдена. |
| FileSystems | Методы-фабрики для файловых систем. |
| FileVisitOption | Определяет параметры обхода дерева файлов. |
| FileVisitor<T> | Посетитель файлов. |
| FileVisitResult | Тип результата FileVisitor. |
| InvalidPathException | Исключение, которое не обрабатывается (unchecked), выбрасывается, когда строка пути не может быть преобразована в Path, потому что строка пути содержит недопустимые символы или является недопустимой для других причин, специфичных для файловой системы. |
| LinkOption | Определяет параметры обработки символических ссылок. |
| LinkPermission | Класс Permission для операций создания ссылок. |
| NoSuchFileException | Исключение, выбрасываемое при попытке доступа к файлу, которого не существует. |
| NotDirectoryException | Исключение, выбрасываемое при сбое операции файловой системы, предназначенной для каталога, потому что файл не является каталогом. |
| NotLinkException | Исключение, выбрасываемое при сбое операции файловой системы, потому что файл не является символической ссылкой. |
| OpenOption | Объект, который настраивает способ открытия или создания файла. |
| Path | Объект, который можно использовать для поиска файла в файловой системе. |
| PathMatcher | Интерфейс, реализуемый объектами, выполняющими операции сопоставления путей. |
| Paths | |
| ProviderMismatchException | Исключение, которое не обрабатывается (unchecked), выбрасываемое при попытке вызвать метод на объекте, созданном одним поставщиком файловой системы, с параметром, созданным другим поставщиком файловой системы. |
| ProviderNotFoundException | Исключение выполнения, выбрасываемое, когда поставщик требуемого типа не найден. |
| ReadOnlyFileSystemException | Исключение, которое не обрабатывается (unchecked), выбрасываемое при попытке обновить объект, связанный с 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/nio/file/package-summary.html