Module java.base

# Package java.nio.file.attribute

Interfaces and classes providing access to file and file system attributes.

See: Description

Interface Summary
AclFileAttributeView: A file attribute view that supports reading or updating a file's Access Control Lists (ACL) or file owner attributes.
AttributeView: An object that provides a read-only or updatable view of non-opaque values associated with an object in a filesystem.
BasicFileAttributes: Basic attributes associated with a file in a file system.
BasicFileAttributeView: A file attribute view that provides a view of a basic set of file attributes common to many file systems.
DosFileAttributes: File attributes associated with a file in a file system that supports legacy "DOS" attributes.
DosFileAttributeView: A file attribute view that provides a view of the legacy "DOS" file attributes.
FileAttribute<T>: An object that encapsulates the value of a file attribute that can be set atomically when creating a new file or directory by invoking the `createFile` or `createDirectory` methods.
FileAttributeView: An attribute view that is a read-only or updatable view of non-opaque values associated with a file in a filesystem.
FileOwnerAttributeView: A file attribute view that supports reading or updating the owner of a file.
FileStoreAttributeView: An attribute view that is a read-only or updatable view of the attributes of a `FileStore`.
GroupPrincipal: A `UserPrincipal` representing a group identity, used to determine access rights to objects in a file system.
PosixFileAttributes: File attributes associated with files on file systems used by operating systems that implement the Portable Operating System Interface (POSIX) family of standards.
PosixFileAttributeView: A file attribute view that provides a view of the file attributes commonly associated with files on file systems used by operating systems that implement the Portable Operating System Interface (POSIX) family of standards.
UserDefinedFileAttributeView: A file attribute view that provides a view of a file's user-defined attributes, sometimes known as extended attributes.
UserPrincipal: A `Principal` representing an identity used to determine access rights to objects in a file system.

Class Summary
AclEntry: An entry in an access control list (ACL).
AclEntry.Builder: A builder of `AclEntry` objects.
FileTime: Represents the value of a file's time stamp attribute.
PosixFilePermissions: This class consists exclusively of static methods that operate on sets of `PosixFilePermission` objects.
UserPrincipalLookupService: An object to lookup user and group principals by name.

Enum Summary
AclEntryFlag: Defines the flags for used by the flags component of an ACL `entry`.
AclEntryPermission: Defines the permissions for use with the permissions component of an ACL `entry`.
AclEntryType: A typesafe enumeration of the access control entry types.
PosixFilePermission: Defines the bits for use with the `permissions` attribute.

Exception Summary
UserPrincipalNotFoundException: Checked exception thrown when a lookup of `UserPrincipal` fails because the principal does not exist.

## Package java.nio.file.attribute Description

Interfaces and classes providing access to file and file system attributes.

> Attribute views | Description
> --- | ---
> `AttributeView` | Can read or update non-opaque values associated with objects in a file system
> `FileAttributeView` | Can read or update file attributes
> `BasicFileAttributeView` | Can read or update a basic set of file attributes
> `PosixFileAttributeView` | Can read or update POSIX defined file attributes
> `DosFileAttributeView` | Can read or update FAT file attributes
> `FileOwnerAttributeView` | Can read or update the owner of a file
> `AclFileAttributeView` | Can read or update Access Control Lists
> `UserDefinedFileAttributeView` | Can read or update user-defined file attributes
> `FileStoreAttributeView` | Can read or update file system attributes

An attribute view provides a read-only or updatable view of the non-opaque values, or metadata, associated with objects in a file system. The `FileAttributeView` interface is extended by several other interfaces that provide views to specific sets of file attributes. `FileAttributeViews` are selected by invoking the `Files.getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...)` method with a type-token to identify the required view. Views can also be identified by name. The `FileStoreAttributeView` interface provides access to file store attributes. A `FileStoreAttributeView` of a given type is obtained by invoking the `FileStore.getFileStoreAttributeView(java.lang.Class<V>)` method.

The `BasicFileAttributeView` class defines methods to read and update a basic set of file attributes that are common to many file systems.

The `PosixFileAttributeView` interface extends `BasicFileAttributeView` by defining methods to access the file attributes commonly used by file systems and operating systems that implement the Portable Operating System Interface (POSIX) family of standards.

The `DosFileAttributeView` class extends `BasicFileAttributeView` by defining methods to access the legacy "DOS" file attributes supported on file systems such as File Allocation Tabl (FAT), commonly used in consumer devices.

The `AclFileAttributeView` class defines methods to read and write the Access Control List (ACL) file attribute. The ACL model used by this file attribute view is based on the model defined by RFC 3530: Network File System (NFS) version 4 Protocol.

In addition to attribute views, this package also defines classes and interfaces that are used when accessing attributes:

- The `UserPrincipal` and `GroupPrincipal` interfaces represent an identity or group identity.
- The `UserPrincipalLookupService` interface defines methods to lookup user or group principals.
- The `FileAttribute` interface represents the value of an attribute for cases where the attribute value is required to be set atomically when creating an object in the file system.

Unless otherwise noted, passing a `null` argument to a constructor or method in any class or interface in this package will cause a `NullPointerException` to be thrown.

Since:
  1.7