Java用特定所有者(用户组)创build文件和目录【JAVA教程】

!
也想出现在这里? 联系我们
信息

Java用特定所有者(用户组)创build文件和目录,第1张

概述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文件和目录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞51 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容