|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface PosixFileAttributeView extends BasicFileAttributeView, FileOwnerAttributeView
Операционные системы, которые реализуют семейство стандартов обычно, используют файловые системы, у которых есть владелец файла, групповой владелец, и связанные права доступа. Это представление атрибута файла обеспечивает доступ для чтения и доступ для записи к этим атрибутам.
readAttributes метод используется, чтобы считать атрибуты файла. Файл owner представляется a UserPrincipal это - идентификационные данные владельца файла в целях управления доступом. group-owner, представленный a GroupPrincipal, идентификационные данные группового владельца, где группа является идентификационными данными, создаваемыми в административных целях, чтобы определить права доступа для элементов группы.
permissions атрибут является рядом прав доступа. Это представление атрибута файла обеспечивает доступ к девяти разрешениям, определенным PosixFilePermission class. Эти девять битов полномочий определяют чтение, пишут, и доступ на выполнение для владельца файла, группы, и других (другие, имеющие в виду идентификационные данные кроме владельца и элементов группы). Некоторые операционные системы и файловые системы могут обеспечить дополнительные биты полномочий, но доступ к этим другим битам не определяется этим class в этом выпуске.
Пример использования: Предположите, что мы должны распечатать владельца и права доступа файла:
Path file = ...
PosixFileAttributes attrs = Files.getFileAttributeView(file, PosixFileAttributeView.class)
.readAttributes();
System.out.format("%s %s%n",
attrs.owner().getName(),
PosixFilePermissions.toString(attrs.permissions()));
Где динамический доступ к атрибутам файла требуется, атрибуты, поддерживаемые этим представлением атрибута, как определяются BasicFileAttributeView и FileOwnerAttributeView, и кроме того, следующие атрибуты поддерживаются:
Имя Ввести "полномочия" Set<PosixFilePermission>"группа" GroupPrincipal
getAttribute метод может использоваться, чтобы считать любой из этих атрибутов, или любой из атрибутов, определенных BasicFileAttributeView как будто, вызывая readAttributes() метод.
setAttribute метод может использоваться, чтобы обновить прошлое измененное время файла, прошлое время доступа или создать атрибуты времени как определено BasicFileAttributeView. Это может также использоваться, чтобы обновить полномочия, владельца, или группового владельца как будто, вызывая setPermissions, setOwner, и setGroup методы соответственно.
Реализации, поддерживающие это представление атрибута, могут также поддерживать установку начальных полномочий, создавая файл или каталог. Начальные полномочия обеспечиваются для createFile или createDirectory методы как a FileAttribute с name "posix:permissions" и a value это - набор полномочий. Следующий пример использует asFileAttribute метод, чтобы создать a FileAttribute создавая файл:
Path path = ...
Set<PosixFilePermission> perms =
EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ);
Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));
Когда права доступа устанавливаются во время создания файла тогда, фактическое значение полномочий может отличаться, которому возражает значение атрибута. Причинами этого является определенная реализация. На системах UNIX, например, у процесса есть umask, который воздействует на биты полномочий недавно создаваемых файлов. Где реализация поддерживает установку прав доступа, и базовая файловая система поддерживает права доступа, тогда требуется, что значение фактических прав доступа будет равно или меньше чем значение атрибута, обеспеченного для createFile или createDirectory методы. Другими словами файл может быть более безопасным чем требуемый.
| Модификатор и Тип | Метод и Описание |
|---|---|
Строка |
name()
Возвращает имя представления атрибута.
|
PosixFileAttributes |
readAttributes()
Читает основные атрибуты файла как объемную работу.
|
void |
setGroup(GroupPrincipal group)
Обновляет владельца группы файлов.
|
void |
setPermissions(Set<PosixFilePermission> perms)
Обновляет полномочия файла.
|
setTimesgetOwner, setOwnerString name()
"posix".name в интерфейсе AttributeViewname в интерфейсе BasicFileAttributeViewname в интерфейсе FileOwnerAttributeViewPosixFileAttributes readAttributes() throws IOException
BasicFileAttributeViewЭто - реализация, определенная, если все атрибуты файла читаются как атомарная работа относительно других операций файловой системы.
readAttributes в интерфейсе BasicFileAttributeViewIOException - если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserInformation") или checkRead метод отрицает доступ для чтения к файлу.void setPermissions(Set<PosixFilePermission> perms) throws IOException
perms - новый набор полномочийClassCastException - если наборы содержат элементы, которые не имеют типа PosixFilePermissionIOException - если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserInformation") или checkWrite метод отрицает доступ для записи к файлу.void setGroup(GroupPrincipal group) throws IOException
group - новый владелец группы файловIOException - если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает RuntimePermission("accessUserInformation") или checkWrite метод отрицает доступ для записи к файлу.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92