有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Java NIO CreateDirectory方法设置目录所有者组?

我正在使用Java CreateDirectory方法在测试目录中创建子目录,并设置文件权限。下面是代码

String completeDestPath = "/home/base/test/test1/test2/test3/";
Path destinationPath = Paths.get(completeDestPath);

Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");
FileAttribute<Set<PosixFilePermission>> fa = PosixFilePermissions.asFileAttribute(perms);

Files.createDirectories(destinationPath, fa);

这很好用。除此之外,我还想将文件所有者组设置为新创建的目录。为此,我使用以下代码

UserPrincipalLookupService lookupService = FileSystems.getDefault().getUserPrincipalLookupService();
GroupPrincipal group = lookupService.lookupPrincipalByGroupName("testgroup_1");

Files.getFileAttributeView(destinationPath, PosixFileAttributeView.class, LinkOption.NOFOLLOW_LINKS).setGroup(group);

但在这里,我需要在循环中调用代码,或者递归调用代码,以获得每个新创建的ditrctories,然后更改所有者组。有没有可能以更好的方式实现这一点,比如将参数作为参数传递给CreateDirectory方法


共 (0) 个答案