IPosixFileAttributeView 接口

定义

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

[Android.Runtime.Register("java/nio/file/attribute/PosixFileAttributeView", "", "Java.Nio.FileNio.Attributes.IPosixFileAttributeViewInvoker", ApiSince=26)]
public interface IPosixFileAttributeView : IDisposable, Java.Interop.IJavaPeerable, Java.Nio.FileNio.Attributes.IBasicFileAttributeView, Java.Nio.FileNio.Attributes.IFileOwnerAttributeView
[<Android.Runtime.Register("java/nio/file/attribute/PosixFileAttributeView", "", "Java.Nio.FileNio.Attributes.IPosixFileAttributeViewInvoker", ApiSince=26)>]
type IPosixFileAttributeView = interface
    interface IBasicFileAttributeView
    interface IFileAttributeView
    interface IAttributeView
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IFileOwnerAttributeView
属性
实现

注解

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

实现 POSIX 系列标准的操作系统通常使用具有文件 <em>owner</em>、 <em>group-owner</em> 以及相关 <em>access permissions</em> 的文件系统。 此文件属性视图提供对这些属性的读取和写入访问权限。

方法 #readAttributes() readAttributes 用于读取文件的属性。 文件 PosixFileAttributes#owner() ownerUserPrincipal 表示,它是文件所有者的标识,用于访问控制。 PosixFileAttributes#group() group-owner(由 表示)GroupPrincipal是组所有者的标识,其中组是为管理目的而创建的标识,用于确定组成员的访问权限。

属性 PosixFileAttributes#permissions() permissions 是一组访问权限。 此文件属性视图提供对 类定义的 PosixFilePermission 九个权限的访问权限。 这九个权限位确定<>文件所有者、<>组和其他 (表示所有者和<>组成员) 以外的标识的读取></em、em write</em> 和 em execute</em> 访问权限。 某些操作系统和文件系统可能提供其他权限位,但此类在此版本中未定义对这些其他位的访问权限。

<b>用法示例:</b> 假设我们需要打印出文件的所有者和访问权限:

Path file = ...
                PosixFileAttributes attrs = Files.getFileAttributeView(file, PosixFileAttributeView.class)
                    .readAttributes();
                System.out.format("%s %s%n",
                    attrs.owner().getName(),
                    PosixFilePermissions.toString(attrs.permissions()));

<h2> 动态访问 </h2>

如果需要对文件属性进行动态访问,则此属性视图支持的属性由 BasicFileAttributeView 和 定义,此外,还支持以下属性:<blockquote<>table class=“striped”><描述文字 style=“display:none”>Supported attributes</描述文字<>thead<>tr<>th scope=“col”> Name </th<>scope=“col”> Type </th>FileOwnerAttributeView</Tr></thead><tbody><tr><th scope=“row”> “permissions” </th><td>Set<PosixFilePermission> </td></tr><th><scope=“row”> “group” </th><td<GroupPrincipal>/td<>/tr></tbody<>/table></blockquote>

方法 Files#getAttribute getAttribute 可用于读取这些属性中的任何一个,或者读取由 BasicFileAttributeView 定义的任何属性,就像通过调用 #readAttributes readAttributes() 方法一样。

方法 Files#setAttribute setAttribute 可用于更新文件的上次修改时间、上次访问时间或创建由 BasicFileAttributeView定义的时间属性。 它还可用于更新权限、所有者或组所有者,就像通过分别调用 #setPermissions setPermissions#setOwner setOwner#setGroup setGroup 方法一样。

<h2> 设置初始权限 </h2>

支持此属性视图的实现还可能支持在创建文件或目录时设置初始权限。 初始权限以 Files#createFile createFile"posix:permissions"FileAttribute#name nameFileAttribute#value value 权限集的形式FileAttribute提供给 或 Files#createDirectory createDirectory 方法。 以下示例在创建文件时使用 PosixFilePermissions#asFileAttribute asFileAttribute 方法构造 FileAttribute

Path path = ...
                Set&lt;PosixFilePermission&gt; perms =
                    EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ);
                Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));

当在文件创建时设置访问权限时,权限的实际值可能与特性对象的值不同。 这样做的原因是特定于实现的。 例如,在 UNIX 系统上,进程具有 <影响新创建文件的权限位的 em>umask</em> 。 如果实现支持访问权限的设置,而基础文件系统支持访问权限,则实际访问权限的值必须等于或小于提供给 Files#createFile createFileFiles#createDirectory createDirectory 方法的属性值。 换句话说,该文件可能比请求更安全。

在 1.7 中添加。

java.nio.file.attribute.PosixFileAttributeViewJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的 的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
Owner

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

(继承自 IFileOwnerAttributeView)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例的 。

(继承自 IJavaPeerable)

方法

Disposed()

释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则,不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
Name()

返回属性视图的名称。

ReadAttributes()

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

SetGroup(IGroupPrincipal)

汇报文件组所有者。

SetJniIdentityHashCode(Int32)

设置 返回 JniIdentityHashCode的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置 返回 PeerReference的值。

(继承自 IJavaPeerable)
SetPermissions(ICollection<PosixFilePermission>)

汇报文件权限。

SetTimes(FileTime, FileTime, FileTime)

汇报文件的任何或全部上次修改时间、上次访问时间和创建时间属性。

(继承自 IBasicFileAttributeView)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

GetJniTypeName(IJavaPeerable)

文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。

适用于