是否可以从 a 获取 Path 对象java.io.File
?
我知道您可以使用toFile()
方法将路径转换为文件,但我找不到相反的转换。有没有办法在 Java 6 或更低版本中做到这一点?
是的,您可以File
使用File.toPath()
. 请记住,这仅适用于 Java 7+。Java 6 及以下版本没有它。
从文档中:
与默认值关联的路径
provider
通常可以与java.io.File
类互操作。其他提供者创建的路径不太可能与java.io.File
. 该toPath
方法可用于从 java.io.File 对象表示的抽象路径名中获取 Path。生成的 Path 可用于对与java.io.File
对象相同的文件进行操作。此外,该方法对于从 a 的表示toFile
构造 a 很有用。File
String
Path
(强调我的)
所以,对于toFile
:
返回
File
表示此路径的对象。
并且toPath
:
返回
java.nio.file.Path
从 this 抽象路径构造的对象。
你可能想要File.toPath()
.
正如许多人所建议的那样,JRE v1.7 及更高版本具有 File.toPath();
File yourFile = ...;
Path yourPath = yourFile.toPath();
在上面其他帖子中也提到的Oracle 的jdk 1.7 文档中,在 toPath() 方法的描述中描述了以下等效代码,它可能适用于 JRE v1.6;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());