Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface SecureDirectoryStream<T> extends DirectoryStream<T>
DirectoryStream
это определяет операции на файлах, которые располагаются относительно открытого каталога. A SecureDirectoryStream
предназначается для использования сложным или безопасностью чувствительное требование приложений, чтобы пересечь деревья файла или иначе работать на каталогах способом без гонок. Условия состязания могут возникнуть, когда последовательность операций файла не может быть выполнена в изоляции. Каждая из операций файла, определенных этим интерфейсом, определяет относительный путь. Весь доступ к файлу относительно открытого каталога независимо от того, если каталог перемещается или заменяется атакующим, в то время как каталог открыт. A SecureDirectoryStream
май также использоваться в качестве виртуального рабочего каталога. A SecureDirectoryStream
требует соответствующей поддержки от базовой операционной системы. Где реализация поддерживает это функции тогда DirectoryStream
возвращенный newDirectoryStream
метод будет a SecureDirectoryStream
и должен быть брошен к тому типу, чтобы вызвать методы, определенные этим интерфейсом.
В случае значения по умолчанию provider
, и менеджер безопасности устанавливается, тогда проверки разрешения выполняются, используя путь, полученный, разрешая данный относительный путь против исходного пути каталога (независимо от того, если каталог перемещается, так как это было открыто).
DirectoryStream.Filter<T>
Модификатор и Тип | Метод и Описание |
---|---|
void |
deleteDirectory(T path)
Удаляет каталог.
|
void |
deleteFile(T path)
Удаляет файл.
|
<V extends FileAttributeView> |
getFileAttributeView(Class<V> type)
Возвращает новое представление атрибута файла, чтобы получить доступ к атрибутам файла этого каталога.
|
<V extends FileAttributeView> |
getFileAttributeView(T path, Class<V> type, LinkOption... options)
Возвращает новое представление атрибута файла, чтобы получить доступ к атрибутам файла файла в этом каталоге.
|
void |
move(T srcpath, SecureDirectoryStream<T> targetdir, T targetpath)
Переместите файл от этого каталога до другого каталога.
|
SeekableByteChannel |
newByteChannel(T path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
Открывает или создает файл в этом каталоге, возвращая seekable канал байта, чтобы получить доступ к файлу.
|
SecureDirectoryStream<T> |
newDirectoryStream(T path, LinkOption... options)
Открывает каталог, идентифицированный данным путем, возвращаясь a
SecureDirectoryStream выполнить итерации по записям в каталоге. |
iterator
forEach
SecureDirectoryStream<T> newDirectoryStream(T path, LinkOption... options) throws IOException
SecureDirectoryStream
выполнить итерации по записям в каталоге. Этот метод работает точно способом, определенным newDirectoryStream
метод для случая, что path
параметр absolute
путь. Когда параметр является относительным путем тогда, каталог, чтобы открыться относительно этого открытого каталога. NOFOLLOW_LINKS
опция может использоваться, чтобы гарантировать, что этот метод перестал работать, если файл является символьной ссылкой.
Новый поток каталога, когда-то создаваемый, не зависит от потока каталога, используемого, чтобы создать это. Закрытие этого потока каталога не имеет никакого эффекта на недавно создаваемый поток каталога.
path
- путь к каталогу, чтобы открытьсяoptions
- опции, указывающие, как обрабатываются символьные ссылкиSecureDirectoryStream
объектClosedDirectoryStreamException
- если поток каталога закрываетсяNotDirectoryException
- если файл не мог бы иначе быть открыт, потому что это не каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.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
метод вызывается, чтобы проверить доступ для записи к пути, если файл открывается для того, чтобы записать.void deleteFile(T path) throws IOException
В отличие от этого delete()
метод, этот метод сначала не исследует файл, чтобы определить, является ли файл каталогом. Удаляется ли каталог этим методом, системно-зависимо и поэтому не определенный. Если файл является символьной ссылкой, то ссылка непосредственно, не заключительная цель ссылки, удаляется. Когда параметр является относительным путем тогда, файл, чтобы удалить относительно этого открытого каталога.
path
- путь файла, чтобы удалитьClosedDirectoryStreamException
- если поток каталога закрываетсяNoSuchFileException
- если файл не существует (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkDelete
метод вызывается, чтобы проверить, удаляют доступ к файлуvoid deleteDirectory(T path) throws IOException
В отличие от этого delete()
метод, этот метод сначала не исследует файл, чтобы определить, является ли файл каталогом. Удаляются ли некаталоги этим методом, системно-зависимо и поэтому не определенный. Когда параметр является относительным путем тогда, каталог, чтобы удалить относительно этого открытого каталога.
path
- путь каталога, чтобы удалитьClosedDirectoryStreamException
- если поток каталога закрываетсяNoSuchFileException
- если каталог не существует (дополнительное определенное исключение)DirectoryNotEmptyException
- если каталог не мог бы иначе быть удален, потому что это не пусто (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkDelete
метод вызывается, чтобы проверить, удаляют доступ к каталогу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
метод вызывается, чтобы проверить доступ для записи к обоим исходный и целевой файл.<V extends FileAttributeView> V getFileAttributeView(Class<V> type)
Получающееся представление атрибута файла может использоваться, чтобы считать или обновить атрибуты этого (открытого) каталога. type
параметр определяет тип представления атрибута, и метод возвращает экземпляр того типа если поддерживающийся. Вызов этого метода, чтобы получить a BasicFileAttributeView
всегда возвращает экземпляр того, что class, который связывается с этим открытым каталогом.
Состояние получающегося представления атрибута файла глубоко соединяется с этим потоком каталога. Как только поток каталога closed
, тогда все методы, чтобы читать или обновить атрибуты бросят ClosedDirectoryStreamException
.
type
- Class
объект, соответствующий представлению атрибута файлаnull
если тип представления атрибута не доступен<V extends FileAttributeView> V getFileAttributeView(T path, Class<V> type, LinkOption... options)
Получающееся представление атрибута файла может использоваться, чтобы считать или обновить атрибуты файла в этом каталоге. type
параметр определяет тип представления атрибута, и метод возвращает экземпляр того типа если поддерживающийся. Вызов этого метода, чтобы получить a BasicFileAttributeView
всегда возвращает экземпляр того, что class, который связывается с файлом в каталоге.
Состояние получающегося представления атрибута файла глубоко соединяется с этим потоком каталога. Однажды поток каталога closed
, тогда все методы, чтобы читать или обновить атрибуты бросят ClosedDirectoryStreamException
. Файл не обязан существовать в то время, когда представление атрибута файла создается, но методы, чтобы читать или обновить атрибуты файла перестанут работать когда вызвано, и файл не существует.
path
- путь файлаtype
- Class
объект, соответствующий представлению атрибута файлаoptions
- опции, указывающие, как обрабатываются символьные ссылкиnull
если тип представления атрибута не доступен
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92