Интерфейс BasicFileAttributeView
- Все суперинтерфейсы:
-
AttributeView,FileAttributeView
- Все известные дочерние интерфейсы:
-
DosFileAttributeView,PosixFileAttributeView
public interface BasicFileAttributeView extends FileAttributeView
BasicFileAttributes. Атрибуты файла извлекаются из файловой системы как оптовая операция, вызывая метод readAttributes. Этот класс также определяет метод setTimes для обновления временных атрибутов файла.
В случаях, когда требуется динамический доступ к атрибутам файлов, поддерживаемые этим представлением атрибутов имеют следующие имена и типы:
Название Тип "lastModifiedTime" FileTime"lastAccessTime" FileTime"creationTime" FileTime"size" Long"isRegularFile" Boolean"isDirectory" Boolean"isSymbolicLink" Boolean"isOther" Boolean"fileKey" Object
Метод getAttribute может использоваться для чтения любого из этих атрибутов так, как будто вызывается метод readAttributes().
Метод setAttribute может использоваться для обновления атрибутов последнего времени изменения файла, последнего времени доступа или времени создания, как если бы вызывался метод setTimes.
- С тех пор:
- 1.7
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
name() |
Возвращает имя представления атрибутов. |
BasicFileAttributes |
readAttributes() |
Считывает основные атрибуты файла как оптовую операцию. |
void |
setTimes |
Обновляет любое или все время последнего изменения файла, время последнего доступа и время создания. |
Подробное описание методов
name
String name()
"basic".- Задано:
-
nameв интерфейсеAttributeView - Возвращает:
- имя представления атрибутов
readAttributes
BasicFileAttributes readAttributes() throws IOException
Реализация определяет, считаются ли все атрибуты файла атомарной операцией по отношению к другим операциям с файловой системой.
- Возвращает:
- атрибуты файла
- Бросает:
-
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае с поставщиком по умолчанию, если установлен менеджер безопасности, вызывается его методcheckReadдля проверки доступа на чтение к файлу
setTimes
void setTimes(FileTime lastModifiedTime, FileTime lastAccessTime, FileTime createTime) throws IOException
Этот метод обновляет временные метки файла. Значения преобразуются в эпоху и точность, поддерживаемые файловой системой. Преобразование из более тонких в более грубые гранулярности приводит к потере точности. Поведение этого метода при попытке установить временную метку, которая не поддерживается, или значение, находящееся за пределами диапазона, поддерживаемого базовым хранилищем файлов, не определено. Оно может или не может завершиться ошибкой, выбросив IOException.
Если любой из lastModifiedTime, lastAccessTime, или createTime параметров имеет значение null, соответствующая временная метка не изменяется. Реализация может потребовать чтения существующих значений атрибутов файла, когда обновляются только некоторые, но не все, временные метки атрибутов. Следовательно, этот метод может быть не атомарной операцией относительно других операций с файловой системой. Чтение и повторная запись существующих значений также может привести к потере точности. Если все lastModifiedTime,
lastAccessTime и createTime параметры являются null, этот метод не оказывает никакого влияния.
Пример использования: Предположим, мы хотим изменить время последнего доступа к файлу.
Path path = ...
FileTime time = ...
Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, time, null);
- Параметры:
-
lastModifiedTime- новое время последнего изменения илиnullдля сохранения текущего значения -
lastAccessTime- время последнего доступа илиnullдля сохранения текущего значения -
createTime- время создания файла илиnullдля сохранения текущего значения - Бросает:
-
IOException- если произошла ошибка ввода-вывода -
SecurityException- В случае с поставщиком по умолчанию, если установлен менеджер безопасности, вызывается его методcheckWriteдля проверки доступа на запись к файлу - См. также:
© 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/attribute/BasicFileAttributeView.html