概述Java用特定所有者(用户/组)创build文件和目录
在Java中可以用不同的用户/组来pipe理创build文件/目录(如果程序以ROOT运行)?
我怎样才能模拟ext3文件系统损坏?
什么时候write()到一个文件返回EWOulDBLOCK?
windows中文件的全局唯一ID
无法在windows 10 PC上使用Java Open Dialog在IDE中查看联网驱动器,但在IDE之外查看
如何防止在windows文件系统中复制或剪切文件?
你可以实现JDK 7(Java NIO)
使用setowner()方法….
public static Path setowner(Path path,UserPrincipal owner) throws IOException
用法示例:假设我们要使“joe”成为文件的所有者:
Path path = … UserPrincipalLookupService lookupService = provIDer(path).getUserPrincipalLookupService(); UserPrincipal joe = lookupService.lookupPrincipalByname(\”joe\”); files.setowner(path,joe);
从下面的URL获取更多关于相同的信息
http://docs.oracle.com/javase/tutorial/essential/io/file.HTML
示例:设置所有者
import java.nio.file.fileSystems; import java.nio.file.files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.fileOwnerAttributeVIEw; import java.nio.file.attribute.UserPrincipal; import java.nio.file.attribute.UserPrincipalLookupService; public class Test { public static voID main(String[] args) throws Exception { Path path = Paths.get(\”C:/home/docs/users.txt\”); fileOwnerAttributeVIEw vIEw = files.getfileAttributeVIEw(path,fileOwnerAttributeVIEw.class); UserPrincipalLookupService lookupService = fileSystems.getDefault() .getUserPrincipalLookupService(); UserPrincipal userPrincipal = lookupService.lookupPrincipalByname(\”mary\”); files.setowner(path,userPrincipal); System.out.println(\”Owner: \” + vIEw.getowner().getname()); } }
示例:Getowner
import java.nio.file.files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.fileOwnerAttributeVIEw; import java.nio.file.attribute.UserPrincipal; public class Test { public static voID main(String[] args) throws Exception { Path path = Paths.get(\”C:/home/docs/users.txt\”); fileOwnerAttributeVIEw vIEw = files.getfileAttributeVIEw(path,fileOwnerAttributeVIEw.class); UserPrincipal userPrincipal = vIEw.getowner(); System.out.println(userPrincipal.getname()); } }
您可以在JDK 7中使用新的IO API( Java NIO )
有getowner()/ setowner()方法可用于管理文件的所有权,并管理可以使用PosixfileAttributeVIEw.setGroup()
以下代码片段显示了如何使用setowner方法设置文件所有者:
Path file = …; UserPrincipal owner = file.GetfileSystem().getUserPrincipalLookupService() .lookupPrincipalByname(\”sally\”); files.setowner(file,owner);
files类中没有用于设置组所有者的专用方法。 但是,直接安全的方法是通过POSIX文件属性视图,如下所示:
Path file = …; GroupPrincipal group = file.getfileSystem().getUserPrincipalLookupService() .lookupPrincipalByGroupname(\”green\”); files.getfileAttributeVIEw(file,PosixfileAttributeVIEw.class) .setGroup(group);
总结
以上是内存溢出为你收集整理的Java用特定所有者(用户/组)创build文件和目录全部内容,希望文章能够帮你解决Java用特定所有者(用户/组)创build文件和目录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容