获取文件所有者名称的Java程序
File 类是 Java 对文件或目录路径名的表示。因为文件和目录名称在不同平台上具有不同的格式,所以简单的字符串无法命名它们。 File 类包含多种方法,用于处理路径名、删除和重命名文件、创建新目录、列出目录的内容以及确定文件和目录的几个公共属性。
- 它是文件和目录路径名的抽象表示。
- 路径名,无论是抽象的还是字符串形式的,通常都是绝对的或相对的。也可以通过调用此类的 getParent() 方法来获取抽象路径名的父级。
- 首先,我们应该始终通过传递文件名或目录名来创建 File 类对象。文件系统可以对特定文件系统对象上的某些操作实施限制,例如读取、写入和执行。这些限制统称为访问权限
- File 类的实例是不可变的;也就是说,一旦创建,由 File 对象表示的抽象路径名将永远不会改变。
要在Java中查找文件所有者,我们将使用FileOwnerAttributeView 类的getOwner() 方法。
方法:
- 将文件的路径作为输入。
- 使用FileOwnerAttributeView 类创建一个具有文件属性的对象。
- 然后使用getOwner() 方法获取所有者的姓名。
- 打印文件所有者的姓名。
句法:
file_attribute_object.getOwner()
参数:它只能用于具有文件属性的对象。
返回类型:它返回文件所有者的名称。
示例 1:在 Windows 操作系统中
Java
// Importing modules
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
class GFG {
public static void main(String[] args) {
// Taking file path as input
Path path = Paths.get("C:\\Users\\Gfg\\Article 1.txt");
// Create object having the file attribute
FileOwnerAttributeView file = Files.getFileAttributeView(path,
FileOwnerAttributeView.class);
// Exception Handling to avoid any errors
try {
// Taking owner name from the file
UserPrincipal user = file.getOwner();
// Printing the owner's name
System.out.println("Owner: " + user.getName());
} catch (Exception e) {
System.out.println(e);
}
}
}
Java
// Importing modules
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class GFG {
public static void main(String[] args) {
// Taking file path as input
Path path = Paths.get("/home/ganesh/GFG.java");
// Create object having the file attribute
FileOwnerAttributeView file = Files.getFileAttributeView(path,
FileOwnerAttributeView.class);
// Exception Handling to avoid any errors
try {
// Taking owner name from the file
UserPrincipal user = file.getOwner();
// Printing the owner's name
System.out.println("Owner: " + user.getName());
} catch (Exception e) {
System.out.println(e);
}
}
}
输出
Owner: DESKTOP-O30NR1H\Aditya_Taparia
如果我们在使用getOwner() 方法时不使用异常处理,那么它将显示错误。
输出:
gfg.java:16: error: unreported exception IOException; must be caught or declared to be
thrown
UserPrincipal user = file.getOwner();
^
1 error
示例 2:在 Linux 机器中(Ubuntu 发行版)
Java
// Importing modules
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class GFG {
public static void main(String[] args) {
// Taking file path as input
Path path = Paths.get("/home/ganesh/GFG.java");
// Create object having the file attribute
FileOwnerAttributeView file = Files.getFileAttributeView(path,
FileOwnerAttributeView.class);
// Exception Handling to avoid any errors
try {
// Taking owner name from the file
UserPrincipal user = file.getOwner();
// Printing the owner's name
System.out.println("Owner: " + user.getName());
} catch (Exception e) {
System.out.println(e);
}
}
}
输出: