如何在 Java 中获取文件所有者的名称?

javaobject oriented programmingprogramming

根据问题陈述,我们将在 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 编程语言检查文件所有者姓名的不同方法。


相关文章