Интерфейс SecureDirectoryStream<T>
- Все суперинтерфейсы:
-
AutoCloseable,Closeable,DirectoryStream<T>,Iterable<T>
public interface SecureDirectoryStream<T> extends DirectoryStream<T>
Для работы с данным интерфейсом требуется соответствующая поддержка от операционной системы. В случае поддержки этой возможности, объект, возвращаемый методом newDirectoryStream, будет типом SecureDirectoryStream и должен быть приведён к этому типу для вызова методов данного интерфейса.
В случае использования стандартного provider и установленного менеджера безопасности, проверки разрешений выполняются с использованием пути, полученного путём разрешения заданного относительного пути относительно исходного пути каталога (независимо от того, был ли каталог перемещён после его открытия).
- С:
- 1.7
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе java.nio.file.DirectoryStream
DirectoryStream.Filter<T>
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
deleteDirectory |
Удаляет каталог. |
void |
deleteFile |
Удаляет файл. |
<V extends FileAttributeView> |
getFileAttributeView |
Возвращает новый просмотр атрибутов файла для доступа к атрибутам файла данного каталога. |
<V extends FileAttributeView> |
getFileAttributeView |
Возвращает новый просмотр атрибутов файла для доступа к атрибутам файла в данном каталоге. |
void |
move |
Перемещает файл из данного каталога в другой каталог. |
SeekableByteChannel |
newByteChannel |
Открывает или создаёт файл в данном каталоге, возвращая доступный канал байтового потока для доступа к файлу. |
SecureDirectoryStream<T> |
newDirectoryStream |
Открывает каталог, идентифицированный заданным путём, возвращая
SecureDirectoryStream для итерирования по элементам каталога. |
Методы, объявленные в интерфейсе java.nio.file.DirectoryStream
iterator
Методы, объявленные в интерфейсе java.lang.Iterable
forEach, spliterator
Подробное описание методов
newDirectoryStream
SecureDirectoryStream<T> newDirectoryStream(T path, LinkOption... options) throws IOException
SecureDirectoryStream для итерирования по записям в директории. Этот метод работает точно так же, как и метод newDirectoryStream в случае, если path параметр является absolute путём. Если параметр является относительным путём, то директория открывается относительно текущей открытой директории. Опция NOFOLLOW_LINKS может быть использована для того, чтобы этот метод завершался неудачей, если файл является символической ссылкой.
Поток новой директории, после его создания, не зависит от потока директории, используемого для его создания. Закрытие этого потока директории не влияет на недавно созданный поток директории.
- Параметры:
-
path- путь к открываемой директории -
options- опции, определяющие, как обрабатываются символические ссылки - Возвращает:
- новый и открытый
SecureDirectoryStreamобъект - Исключения:
-
ClosedDirectoryStreamException- если поток директории закрыт -
NotDirectoryException- если файл не может быть открыт, потому что это не директория (опциональное специфическое исключение) -
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае использования стандартного поставщика и установленного менеджера безопасности, вызывается методcheckReadдля проверки доступа на чтение к директории.
newByteChannel
SeekableByteChannel newByteChannel(T path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
Этот метод работает точно так же, как и метод Files.newByteChannel в случае, если path параметр является absolute путём. Если параметр является относительным путём, то открываемый или создаваемый файл относителен к этой открытой директории. В дополнение к опциям, определённым в методе Files.newByteChannel, опция NOFOLLOW_LINKS может быть использована для того, чтобы этот метод завершался неудачей, если файл является символической ссылкой.
Канал, после его создания, не зависит от потока директории, используемого для его создания. Закрытие этого потока директории не влияет на канал.
- Параметры:
-
path- путь к файлу для открытия или создания -
options- опции, определяющие, как открывается файл -
attrs- необязательный список атрибутов, которые необходимо установить атомарно при создании файла - Возвращает:
- поисковый байтовый канал
- Исключения:
-
ClosedDirectoryStreamException- если поток директории закрыт -
IllegalArgumentException- если набор содержит недопустимое сочетание опций -
UnsupportedOperationException- если указана неподдерживаемая опция открытия или массив содержит атрибуты, которые не могут быть установлены атомарно при создании файла -
FileAlreadyExistsException- если файл с таким именем уже существует, и указана опцияCREATE_NEW(опциональное специфическое исключение) -
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае использования стандартного поставщика и установленного менеджера безопасности, вызывается методcheckReadдля проверки доступа на чтение к пути, если файл открывается для чтения. Вызывается методcheckWriteдля проверки доступа на запись к пути, если файл открывается для записи.
deleteFile
void deleteFile(T path) throws IOException
В отличие от метода delete(), этот метод не проверяет, является ли файл директорией. Способ удаления директории этим методом зависит от системы и поэтому не определён. Если файл является символической ссылкой, то удаляется сама ссылка, а не конечная цель ссылки. Если параметр является относительным путём, то удаляемый файл относителен к этой открытой директории.
- Параметры:
-
path- путь к файлу для удаления - Исключения:
-
ClosedDirectoryStreamException- если поток директории закрыт -
NoSuchFileException- если файл не существует (опциональное специфическое исключение) -
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае использования стандартного поставщика и установленного менеджера безопасности, вызывается методcheckDeleteдля проверки доступа на удаление к файлу
deleteDirectory
void deleteDirectory(T path) throws IOException
В отличие от метода delete(), этот метод не проверяет, является ли файл директорией. Способ удаления не-директорий этим методом зависит от системы и поэтому не определён. Если параметр является относительным путём, то удаляемая директория относительна к этой открытой директории.
- Параметры:
-
path- путь к удаляемой директории - Исключения:
-
ClosedDirectoryStreamException- если поток директории закрыт -
NoSuchFileException- если директория не существует (опциональное специфическое исключение) -
DirectoryNotEmptyException- если директория не может быть удалена, потому что она не пуста (опциональное специфическое исключение) -
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае использования стандартного поставщика и установленного менеджера безопасности, вызывается методcheckDeleteдля проверки доступа на удаление к директории
move
void move(T srcpath, SecureDirectoryStream<T> targetdir, T targetpath) throws IOException
Этот метод работает аналогично методу move, когда указана опция ATOMIC_MOVE. То есть, этот метод перемещает файл как атомарную операцию файловой системы. Если srcpath параметр является absolute путём, то он определяет исходный файл. Если параметр является относительным путём, то он определяется относительно этой открытой директории. Если targetpath параметр является абсолютным, то он определяет целевой файл (targetdir параметр игнорируется). Если параметр является относительным путём, то он определяется относительно открытой директории, указанной в targetdir параметре. Во всех случаях, если целевой файл существует, то поведение (замена или неудача метода) зависит от реализации.
- Параметры:
-
srcpath- имя файла для перемещения -
targetdir- целевая директория -
targetpath- имя, которое должен получить файл в целевой директории - Исключения:
-
ClosedDirectoryStreamException- если этот или целевой поток директории закрыт -
FileAlreadyExistsException- если файл уже существует в целевой директории и не может быть заменён (опциональное специфическое исключение) -
AtomicMoveNotSupportedException- если файл не может быть перемещён как атомарная операция файловой системы -
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае использования стандартного поставщика и установленного менеджера безопасности, вызывается методcheckWriteдля проверки доступа на запись к исходному и целевому файлу.
getFileAttributeView
<V extends FileAttributeView> V getFileAttributeView(Class<V> type)
Результирующий вид атрибутов файла может быть использован для чтения или обновления атрибутов этой (открытой) директории. Параметр type определяет тип вида атрибутов, и метод возвращает экземпляр этого типа, если он поддерживается. Вызов этого метода для получения BasicFileAttributeView всегда возвращает экземпляр этого класса, привязанный к этой открытой директории.
Состояние результирующего вида атрибутов файла тесно связано с потоком этой директории. После того, как поток директории closed, все методы чтения или обновления атрибутов будут выбрасывать ClosedDirectoryStreamException.
- Type Parameters:
-
V- ТипFileAttributeView - Параметры:
-
type- объектClass, соответствующий виду атрибутов файла - Возвращает:
- новый вид атрибутов файла указанного типа, привязанный к этому потоку директории, или
nullесли тип вида атрибутов недоступен
getFileAttributeView
<V extends FileAttributeView> V getFileAttributeView(T path, Class<V> type, LinkOption... options)
Полученный просмотр атрибутов файла можно использовать для чтения или обновления атрибутов файла в этом каталоге. Параметр type задает тип представления атрибута, и метод возвращает экземпляр этого типа, если он поддерживается. Вызов этого метода для получения BasicFileAttributeView всегда возвращает экземпляр этого класса, привязанный к файлу в каталоге.
Состояние полученного просмотра атрибутов файла тесно связано с этим потоком каталога. После закрытия потока каталога closed, все методы чтения или обновления атрибутов будут выбрасывать исключение ClosedDirectoryStreamException. Файл не обязан существовать в момент создания просмотра атрибутов файла, но попытки чтения или обновления атрибутов файла завершатся ошибкой, если файл не существует.
- Type Parameters:
-
V- ТипFileAttributeView - Parameters:
-
path- путь к файлу -
type- объектClassсоответствующий просмотру атрибутов файла -
options- опции, определяющие обработку символических ссылок - Returns:
- новый просмотр атрибутов файла указанного типа, привязанный к этому потоку каталога, или
nullесли тип представления атрибута недоступен
© 1993, 2021, 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/17/docs/api/java.base/java/nio/file/SecureDirectoryStream.html