Java PosixFileAttributeView list permissions

Description

Java PosixFileAttributeView list permissions

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFileAttributeView;
import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.util.Set;

public class Main {

   public static void main(String[] args) {
      Path path = Paths.get("home/docs/users.txt");
      listPermissions(path);/* w  w w. j a  v  a  2s  .  c  o  m*/
   }

   private static void listPermissions(Path path) {
      try {
         System.out.println("Permission for " + path.getFileName());
         PosixFileAttributeView view = Files.getFileAttributeView(path, PosixFileAttributeView.class);
         PosixFileAttributes attributes = view.readAttributes();
         System.out.println("Group: " + attributes.group().getName());
         System.out.println("Owner: " + attributes.owner().getName());
         Set<PosixFilePermission> permissions = attributes.permissions();
         System.out.print("Permissions: ");
         for (PosixFilePermission permission : permissions) {
            System.out.print(permission.name() + " ");
         }
         System.out.println();
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }

}



PreviousNext

Related