Интерфейс 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, 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/attribute/BasicFileAttributeView.html