IPosixFileAttributeView 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (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() owner
由 UserPrincipal
表示,它是文件所有者的标识,用于访问控制。 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 name
FileAttribute#value value
权限集的形式FileAttribute
提供给 或 Files#createDirectory createDirectory
方法。 以下示例在创建文件时使用 PosixFilePermissions#asFileAttribute asFileAttribute
方法构造 FileAttribute
:
Path path = ...
Set<PosixFilePermission> perms =
EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ);
Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));
当在文件创建时设置访问权限时,权限的实际值可能与特性对象的值不同。 这样做的原因是特定于实现的。 例如,在 UNIX 系统上,进程具有 <影响新创建文件的权限位的 em>umask</em> 。 如果实现支持访问权限的设置,而基础文件系统支持访问权限,则实际访问权限的值必须等于或小于提供给 Files#createFile createFile
或 Files#createDirectory createDirectory
方法的属性值。 换句话说,该文件可能比请求更安全。
在 1.7 中添加。
的 java.nio.file.attribute.PosixFileAttributeView
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
属性
Handle |
获取基础 Android 对象的 JNI 值。 (继承自 IJavaObject) |
JniIdentityHashCode |
返回包装实例的 的值 |
JniManagedPeerState |
托管对等方的状态。 (继承自 IJavaPeerable) |
JniPeerMembers |
成员访问和调用支持。 (继承自 IJavaPeerable) |
Owner |
文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。 (继承自 IFileOwnerAttributeView) |
PeerReference |
返回 JniObjectReference 包装的 Java 对象实例的 。 (继承自 IJavaPeerable) |
方法
Disposed() |
释放实例时调用。 (继承自 IJavaPeerable) |
DisposeUnlessReferenced() |
如果没有对此实例的未完成引用,则调用 |
Finalized() |
在实例完成时调用。 (继承自 IJavaPeerable) |
Name() |
返回属性视图的名称。 |
ReadAttributes() |
文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。 |
SetGroup(IGroupPrincipal) |
汇报文件组所有者。 |
SetJniIdentityHashCode(Int32) |
设置 返回 |
SetJniManagedPeerState(JniManagedPeerStates) |
文件属性视图,提供通常与文件系统上的文件关联的文件属性视图,这些文件系统上实现可移植操作系统接口 (POSIX) 系列标准。 (继承自 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
设置 返回 |
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) 系列标准。 |