2017-12-17 33 views
-1

폴더 및 폴더 내의 모든 파일에 대한 파일 사용 권한을 변경하려고합니다. 아래 코드는 폴더에서 잘 작동합니다. 폴더 내의 파일에 대한 사용 권한을 변경하도록 설정할 수있는 매개 변수가 있습니까?폴더 내의 파일에 대한 파일 사용 권한 변경

private void setPOSIXFilePermissions(String filePath) { 
     Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>(); 
     perms.add(PosixFilePermission.OWNER_READ); 
     perms.add(PosixFilePermission.OWNER_WRITE); 
     perms.add(PosixFilePermission.OWNER_EXECUTE); 
     perms.add(PosixFilePermission.GROUP_READ); 
     perms.add(PosixFilePermission.GROUP_EXECUTE); 
     perms.add(PosixFilePermission.OTHERS_READ); 
     perms.add(PosixFilePermission.OTHERS_EXECUTE); 

     try { 
      java.nio.file.Files.setPosixFilePermissions(Paths.get(filePath), perms); 
     } catch (IOException e) { 
      LOGGER.error("Failed to set file permission.", e); 
     } 
    } 
+0

을 (https://stackoverflow.com/q/664432/608639), [모든 파일의 파일 이름을 얻기 폴더] (https://stackoverflow.com/q/5694385/608639) 및 [Java를 사용하여 파일 이름에서 filePath 가져 오기] (https://stackoverflow.com/q/13509822/608639)를 참조하십시오. – jww

답변

0

이 시도 : [? 내가 프로그래밍 파일 권한을 변경하려면 어떻게]

// Use: - recursive = true to change permissions for all sub directories and sub files 
//  - recursive = false for only one folder and its sub files. 

public static boolean givePerms(File f, Set<PosixFilePermission> perms, boolean recursive) 
{ 
    boolean success = givePerm(f, perms); 
    if (f.isDirectory() && recursive) 
    { 
     File[] files = f.listFiles(); 
     for (File file : files) 
     { 
      if (!givePerms(file, perms, recursive)) success = false; 
     } 
    } 
    return success; 
}