旧的、已经过时的java.io.File
API有一个exists
方法,如果File
指向文件系统中的现有文件,则返回true,但我找不到与之相对应的方法适用于java.nio.file.Path
:
scala> import java.nio.file._
import java.nio.file._
scala> val path = Paths.get("/foo")
path: java.nio.file.Path = /foo
scala> path.
asInstanceOf compareTo endsWith getFileName getFileSystem getName getNameCount
getParent getRoot isAbsolute isInstanceOf iterator normalize register
relativize resolve resolveSibling startsWith subpath toAbsolutePath toFile
toRealPath toString toUri
当然,我可以把 path
转换回 File
,但我认为有更好的方法来做到这一点。
编辑:好的,感谢所有指出 Files.exists
的人。有人知道为什么它变得更加复杂了吗(比拥有一个简单的 exists
方法在 Path
上)?
Files
中只有一个实现(由Oracle提供)的方法,而不是可能存在多个不同的实现,如果它被定义在Path
中的话? - socFiles.isRegularFile(path)
。 - Vojta