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

nik*_*kel 0 java permissions 777

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

我们可以通过文件类中的方法为给定文件的最后一个叶子做这件事,如下所示

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");
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

上面给了 777 给 Leaf3 ,如何给 777 给 Leaf1 & Leaf2 呢?在单个命令中?

Sri*_*asu 5

Process p;
        try {
            p = Runtime.getRuntime().exec("chmod 777 -R ./leaf1");
            p.waitFor();

        } catch (Exception e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)