Интерфейс SecureDirectoryStream<T>
- Параметры типа:
-
T- Тип элемента, возвращаемого итератором
- Все суперинтерфейсы:
-
AutoCloseable,Closeable,DirectoryStream<T>,Iterable<T>
public interface SecureDirectoryStream<T> extends DirectoryStream<T>
Интерфейс требует соответствующей поддержки от underlying операционной системы. В случае поддержки этой функции, DirectoryStream возвращаемый методом 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 |
newDirectoryStream |
Открывает каталог, идентифицируемый заданным путем, возвращая
SecureDirectoryStream для итерации по записям в каталоге. |
Методы, объявленные в интерфейсе java.nio.file.DirectoryStream
iterator
Методы, объявленные в интерфейсе java.lang.Iterable
forEach, spliterator
Подробное описание методов
newDirectoryStream
SecureDirectoryStream<T> newDirectoryStream(T path, LinkOption... options) throws IOException
Этот метод работает точно так же, как и метод 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- Тип просмотра атрибутов - Параметры:
-
type- объект, соответствующий просмотру атрибутов файла - Возвращает:
- новый просмотр атрибутов файла указанного типа, связанный с этим потоком каталога, или
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, 2023, 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/21/docs/api/java.base/java/nio/file/SecureDirectoryStream.html