java - 如何使用 Java NIO createDirectories 方法设置目录所有者组?
问题描述
我正在使用 Java createDirectories 方法在测试目录中创建子目录,并设置文件权限。下面是代码;
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);
但是在这里,我需要循环调用代码,或者递归调用每个新创建的目录,然后更改所有者组。是否有可能以更好的方式做到这一点,比如作为参数传递给 createDirectories 方法?
解决方案
推荐阅读
- javascript - this.setState 的回调函数在 componentDidMount 中不起作用
- blockchain - 如何以某种方式运行 Substrate,以便立即验证交易以供开发人员使用?
- javascript - Django javascript文件未加载
- php - XAMPP - 表 'C:\xampp\tmp\#sql3a10_4_4.MAI' 的权限问题
- python - 字典中的python lambda排序
- angular - 为什么在 Angular 9/ivy 编译器中不再需要 entryComponents?
- c++ - 在 char 数组中的空格后添加空格
- python - Pywin32 Outlook 限制功能停止工作
- java - 无法注入默认 MySQL 数据源
- python - 如何在 python 中将 HASHLIB 摘要转换为数组?