广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州分享Java文件所有者权限_北大青鸟IT学校

作者:邓华发布时间:2021-04-14分类:Java技术浏览:926


导读:相信学过计算机知识的同学都知道,只要是文件,就有该文件的所有者,那么下面惠州北大青鸟老师给大家分享Java文件所有者权限相关的知识,希望大家能有所收获。

相信学过计算机知识的同学都知道,只要是文件,就有该文件的所有者,那么下面惠州北大青鸟老师给大家分享Java文件所有者权限相关的知识,希望大家能有所收获。

有三种方法可以管理文件所有者:

  1. 使用Files.getOwner()和Files.setOwner()方法。

  2. 使用“owner”作为属性名称的Files.getAttribute()和Files.setAttribute()方法。

  3. 使用FileOwnerAttributeView。

我们需要使用UserPrincipal和GroupPrincipal接口来管理文件的所有者。

文件的所有者可以是用户或组。

UserPrincipal表示用户。GroupPrincipal表示组。

当我们读取文件的所有者时,我们得到一个UserPrincipal的实例。在UserPrincipal对象上调用getName()方法以获取用户的名称。

要设置文件的所有者,请从用户名获取UserPrincipal的对象。

要从文件系统获取UserPrincipal,请使用UserPrincipalLookupService类的实例,我们可以使用FileSystem类的getUserPrincipalLookupService()方法获取该实例。

以下代码为用户ID为myName的用户获取一个UserPrincipal对象:

FileSystem fs  = FileSystems.getDefault();
UserPrincipalLookupService upls  = fs.getUserPrincipalLookupService();

UserPrincipal user = upls.lookupPrincipalByName("myName");
System.out.format("User principal name is %s%n", user.getName());

以下代码显示如何使用FileOwnerAttributeView更改文件的所有者。

import java.io.IOException;import java.nio.file.FileSystem;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 Main {  public static void main(String[] args) throws Exception {

     Path path = Paths.get("C:\\Java_Dev\\test1.txt");

     FileOwnerAttributeView foav = Files.getFileAttributeView(path,
         FileOwnerAttributeView.class);

     UserPrincipal owner = foav.getOwner();
     System.out.format("Original owner  of  %s  is %s%n", path,
         owner.getName());

     FileSystem fs = FileSystems.getDefault();
     UserPrincipalLookupService upls = fs.getUserPrincipalLookupService();

     UserPrincipal newOwner = upls.lookupPrincipalByName("brice");
     foav.setOwner(newOwner);

     UserPrincipal changedOwner = foav.getOwner();
     System.out.format("New owner  of  %s  is %s%n", path,
         changedOwner.getName());

 }
}

以下代码使用Files.setOwner()方法更新在Windows上使用路径C:\Java_Dev\test1.txt标识的文件的所有者:

UserPrincipal owner  = get   the   owner;
Path  path   = Paths.get("C:\\Java_Dev\\test1.txt");
Files.setOwner(path,  owner);

通过上面老师的解答,大家应该知道Java文件所有者权限了吧!想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区详细了解。

java5.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表