在java中更改目录所有者

如何使用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