在java中递归设置777权限,而不使用NIO

在java中递归设置777权限,而不使用NIO,java,permissions,777,Java,Permissions,777,有没有一种方法可以在不使用NIO的情况下递归地设置路径上的777权限(以便路径上的所有目录都获得777权限) 我们可以通过下面的file类中的方法为给定文件的最后一页执行此操作 import java.io.File; import java.nio.file.FileSystems; public class permissionTest { public static void main(String [] args){ String dir = "./leaf

有没有一种方法可以在不使用NIO的情况下递归地设置路径上的777权限(以便路径上的所有目录都获得777权限)

我们可以通过下面的file类中的方法为给定文件的最后一页执行此操作

import java.io.File;
import java.nio.file.FileSystems;


public class permissionTest {

    public static void main(String [] args){
        String dir = "./leaf1/leaf2/leaf3";

        File baseDir = new File(dir);

        boolean success = baseDir.mkdirs();
        if (success) {
            System.out.println("Created dirs");
            baseDir.setExecutable(true, false);
            baseDir.setReadable(true, false);
            baseDir.setWritable(true, false);
        }
        else{
            System.out.println("Not created");
        }

    }

}

上面给了leaf3 777,如何给leaf1和leaf2 777?在一个命令中?

您不想使用多个命令设置权限的原因是什么?应该有更好的方法,如chmod-R:),对于深度嵌套的路径也不太好您想将777分配给当前和前两个父级?通常是另一种方法,将777应用于父目录及其所有子目录如果我在上面的示例中将777应用于leaf1,那么leaf2和leaf3将无法理解为什么人为限制不使用NIO?您不想使用多个命令设置权限的原因是什么?应该有更好的方法,如chmod-R:),对于深度嵌套的路径也不太好您想给当前父级和前两个父级提供777吗?通常是另一种方式,将777应用于父目录及其所有子目录如果我将777应用于上面的示例中的leaf1,leaf2和leaf3将无法理解为什么人为限制不使用NIO?这也可能会造成“附带损害”:它还可能会设置您不想更改的文件夹的权限。是的,我在寻找一种基于java的方法…不使用chmod。我认为这种方法是可行的slower@Bartvbi这正是OP所要求的:“路径上的所有目录都获得777权限”。@nikel的速度比什么慢?这也可能会造成“附带损害”:它还可能设置您不想更改的文件夹的权限。是的,我正在寻找一种基于java的方法……不使用chmod。我认为这种方法是可行的slower@Bartvbi这正是OP要求的:“路径上的所有目录都获得777权限”。@nikel比什么慢?
Process p;
        try {
            p = Runtime.getRuntime().exec("chmod 777 -R ./leaf1");
            p.waitFor();

        } catch (Exception e) {
            e.printStackTrace();
        }