如何在 Java 中获取文件所有者的名称?
根据问题陈述,我们将在 Java 中查找文件所有者的名称。此处的所有者名称代表正在运行文件的 PC 的所有者。要在 Java 中查找文件所有者,我们将使用 FileOwnerAttributeView 类的 getOwner() 方法。
FileOwnerAttributeView 属于 java.nio 类。
让我们深入研究这篇文章,了解如何使用 Java 编程语言完成此操作。
向您展示一些实例
实例 1
假设给定的文件位置是"D:/saket.txt"。
检查给定文件的所有者名称后,输出将是 −
文件的所有者是:LAPTOP-9IH5RA2V\SAKET
实例 2
假设给定的文件位置是"C:/Users/SAKET/Desktop/saket/Work"。
检查给定文件的所有者名称后,输出将是 −
文件的所有者是:LAPTOP-9IH5RA2V\SAKET
实例 2
假设给定的文件位置是"C:/Users/SAKET/Desktop/saket/Work"。
检查给定文件的所有者名称后,输出将是 −
文件的所有者是:LAPTOP-9IH5RA2V\SAKET
实例 2
给定文件,输出将是 −文件的所有者是:LAPTOP-9IH5RA2V\SAKET
算法
步骤 1 − 将文件路径作为输入。
步骤 2 − 使用 FileOwnerAttributeView 类创建具有文件属性的对象。
步骤 3 − 声明 try 并捕获块以避免任何错误。
步骤 4 − 使用 getOwner() 方法从文件中提取所有者名称。
步骤 5 − 打印结果。
算法
getOwner() − 用于返回或获取给定文件的当前所有者。它属于 java 中的 FileOwnerAttributeView 类。
下面是它的语法
file_attribute_object.getOwner()
多种方法
我们提供了不同方法的解决方案。
通过使用静态输入。
通过使用用户定义方法
让我们逐一查看程序及其输出。
注意 - 在任何在线编辑器上执行这些程序都可能无法为您提供正确的输出。因为在线 Java 编辑器无法访问您本地系统的文件。因此,为了获得预期的输出,建议您在系统中的本地 Java 编辑器中运行这些程序。
方法 1:使用静态输入
在此方法中,文件路径将被视为静态输入。然后根据算法获取文件所有者的名称。
示例
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class Main {
//main 方法
public static void main(String[] args) {
// 将文件路径作为输入
Path path = Paths.get("D:/saket.txt");
// 创建具有文件属性的对象
FileOwnerAttributeView file = Files.getFileAttributeView(path, FileOwnerAttributeView.class);
// 声明 try 和 catch 块以避免任何错误
try {
// 从文件中提取所有者名称
UserPrincipal user = file.getOwner();
// 将所有者的名称作为结果打印出来
System.out.println("该文件的所有者是:" + user.getName());
}
//catch block
catch (Exception e){
System.out.println(e);
}
}
}
输出
java.nio.file.NoSuchFileException: D:/saket.txt
方法 2:使用用户定义方法
在此方法中,文件路径将作为输入。然后通过传递此文件路径作为参数来调用用户定义方法,并根据算法获取文件所有者的名称。
示例
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class Main{
//main 方法
public static void main(String[] args) {
// 调用用户定义的方法
func();
}
//用户定义的方法
static void func() {
// 将文件路径作为输入
Path path = Paths.get("C:/Users/SAKET KASHYAP/Desktop/saket/Work");
// 创建具有文件属性的对象
FileOwnerAttributeView file = Files.getFileAttributeView(path,FileOwnerAttributeView.class);
// 声明 try 和 catch 块以避免任何错误
try {
// 从文件中提取所有者名称
UserPrincipal user = file.getOwner();
// 将所有者的名称打印为结果
System.out.println("文件的所有者是:" + user.getName());
}
//catch block
catch (Exception e){
System.out.println(e);
}
}
}
输出
java.nio.file.NoSuchFileException: C:/Users/SAKET KASHYAP/Desktop/saket/Work
在本文中,我们探讨了使用 Java 编程语言检查文件所有者姓名的不同方法。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

