如何在 Kotlin 中获取文件系统元数据?

3
我正在编写一个程序,应输出指定目录下所有文件的元信息(大小、执行/读取/写入权限、上次修改时间)。
我发现Java语言中有个叫做BasicFileAttributes的类可用 (链接)。其中描述了调用该方法所需的所有参数。然而,我的IDE出现了错误,指出路径(Path)没有正确提供参数。
我无法确定自己犯了什么愚蠢的错误。感激不尽,如果您能提供指导。
val path = readLine().toString()
val attr = Files.readAttributes("img.png", BasicFileAttributes.class)

或者也不起作用。
val path = readLine().toString()
val attr = Files.readAttributes(path, BasicFileAttributes.class)
1个回答

4

Files.readAttributes方法的第一个参数应该传入Path类型,而不是String类型。另外,你需要传入Java Class类型而非KClass类型。你可以按照以下方式进行操作:

val path = FileSystems.getDefault().getPath(readLine())
val attr = Files.readAttributes<BasicFileAttributes>(path, BasicFileAttributes::class.java)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接