如何使用API在Windows中更改目录所有者可以处理Java?
对于一个文件本身来说,这很容易,但是对于一个目录,你不能(据我所知)通过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教程的“ 管理元数据”部分。
可能最容易使用cacls.exe。 在这里也是一个有趣的讨论,也适用于写acls /所有者:
从Java读取Windows ACL
编辑:实际上,cacls不会处理所有权。 这是更好的: https : //serverfault.com/questions/27332/how-to-take-ownership-of-files-from-the-command-line