如何使用API更改Windows中目录的目录所有者可以处理Java?
答案 0 :(得分:2)
对于文件本身来说,这很容易,但是对于目录,你不能(据我所知)通过Java来做,因为它依赖于文件系统(例如FAT,NTFS,HFS +,ext4等)。 )。遗憾。
以防你想要一个档案。
来自Files.setOwner(File, UserPrincipal)的Java文档:
用法示例:假设我们想让“joe”成为文件的所有者:
Path path = ... UserPrincipalLookupService lookupService = provider(path).getUserPrincipalLookupService(); UserPrincipal joe = lookupService.lookupPrincipalByName("joe"); Files.setOwner(path, joe);
另请参阅Java教程的Managing Metadata部分。
答案 1 :(得分:0)
可能最容易使用cacls.exe。这里也有一个有趣的讨论,也适用于编写acls / owner:
Reading Windows ACLs from Java
编辑:实际上,cacls不会处理所有权。这样做更好:https://serverfault.com/questions/27332/how-to-take-ownership-of-files-from-the-command-line