PosixFilePermissions (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.nio.file.attribute, class: PosixFilePermissions
Keywords: java.nio.file.attribute.PosixFilePermissions class

# Class PosixFilePermissions

java.lang.Object
java.nio.file.attribute.PosixFilePermissions

public final class PosixFilePermissions extends Object
This class consists exclusively of static methods that operate on sets of `PosixFilePermission` objects.

Since:
  1.7

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static FileAttribute<Set<PosixFilePermission>>`
  `asFileAttribute(Set<PosixFilePermission> perms)`
  Creates a `FileAttribute`, encapsulating a copy of the given file permissions, suitable for passing to the `createFile` or `createDirectory` methods.
  `static Set<PosixFilePermission>`
  `fromString(String perms)`
  Returns the set of permissions corresponding to a given `String` representation.
  `static String`
  `toString(Set<PosixFilePermission> perms)`
  Returns the `String` representation of a set of permissions.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### toString

    public static String toString(Set<PosixFilePermission> perms)
    Returns the `String` representation of a set of permissions. It is guaranteed that the returned `String` can be parsed by the `fromString(String)` method.

    If the set contains `null` or elements that are not of type `PosixFilePermission` then these elements are ignored.

    Parameters:
      `perms` - the set of permissions
    Returns:
      the string representation of the permission set

  - ### fromString

    public static Set<PosixFilePermission> fromString(String perms)
    Returns the set of permissions corresponding to a given `String` representation.

    The `perms` parameter is a `String` representing the permissions. It has 9 characters that are interpreted as three sets of three. The first set refers to the owner's permissions; the next to the group permissions and the last to others. Within each set, the first character is `'r'` to indicate permission to read, the second character is `'w'` to indicate permission to write, and the third character is `'x'` for execute permission. Where a permission is not set then the corresponding character is set to `'-'`.

    Usage Example: Suppose we require the set of permissions that indicate the owner has read, write, and execute permissions, the group has read and execute permissions and others have none.

            Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxr-x---");

    Parameters:
      `perms` - string representing a set of permissions
    Returns:
      the resulting set of permissions
    Throws:
      `IllegalArgumentException` - if the string cannot be converted to a set of permissions
    See Also:
      - `toString(Set)`

  - ### asFileAttribute

    public static FileAttribute<Set<PosixFilePermission>> asFileAttribute(Set<PosixFilePermission> perms)
    Creates a `FileAttribute`, encapsulating a copy of the given file permissions, suitable for passing to the `createFile` or `createDirectory` methods.
    Parameters:
      `perms` - the set of permissions
    Returns:
      an attribute encapsulating the given file permissions with `name` `"posix:permissions"`
    Throws:
      `ClassCastException` - if the set contains elements that are not of type `PosixFilePermission`