使用java获取文件所有者元数据信息
发布时间:2020-12-15 05:03:17 所属栏目:Java 来源:网络整理
导读:我正在尝试使用以下代码检索文件的所有者: Path file = Paths.get( fileToExtract.getAbsolutePath() ); PosixFileAttributes attr = Files.readAttributes(file,PosixFileAttributes.class); //line that throws exception System.out.println(attr.owner.
我正在尝试使用以下代码检索文件的所有者:
Path file = Paths.get( fileToExtract.getAbsolutePath() ); PosixFileAttributes attr = Files.readAttributes(file,PosixFileAttributes.class); //line that throws exception System.out.println(attr.owner.getName()); 摘自oracle的页面(http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html) 但我总是在上面指出的行上得到UnsupportedOperationException. java.lang.UnsupportedOperationException at sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:192) at java.nio.file.Files.readAttributes(Files.java:1684) 我认为’readAttributes’方法是抽象的,这会导致异常,但是(如果这是真的)我不知道如何实现这个方法以便给我文件属性. 有谁知道如何实现此方法,或者另一种方法(已测试)来获取文件所有者? 解决方法
试试这个 – 也适用于Windows
import java.io.IOException; 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 FileOwner { public static void main(String[] args) throws IOException { Path path = Paths.get("/tmp"); FileOwnerAttributeView ownerAttributeView = Files.getFileAttributeView(path,FileOwnerAttributeView.class); UserPrincipal owner = ownerAttributeView.getOwner(); System.out.println("owner: " + owner.getName()); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |