Create a symbolic link with permissions - Java File Path IO

Java examples for File Path IO:Symbolic Link

Description

Create a symbolic link with permissions

Demo Code

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.Set;

public class Main {
  public static void main(String[] args) {
    // create a symbolic link with permissions
    Path link2 = FileSystems.getDefault().getPath("test");
    Path target2 = FileSystems.getDefault().getPath("C:/folder1/photos",
        "test.jpg");
    try {//from w w  w .  j a v a2  s . co m
      PosixFileAttributes attrs = Files.readAttributes(target2,
          PosixFileAttributes.class);
      FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions
          .asFileAttribute(attrs.permissions());

      Files.createSymbolicLink(link2, target2, attr);
    } catch (IOException | UnsupportedOperationException | SecurityException e) {
      if (e instanceof SecurityException) {
        System.err.println("Permission denied!");
      }
      if (e instanceof UnsupportedOperationException) {
        System.err.println("An unsupported operation was detected!");
      }
      if (e instanceof IOException) {
        System.err.println("An I/O error occured!");
      }
      System.err.println(e);
    }
  }
}

Result


Related Tutorials