是否可以从java.io.File
获取Path对象?
我知道您可以使用toFile()
方法将路径转换为文件,但我无法找到相反的转换。有没有办法在Java 6或更低版本中执行此操作?
答案 0 :(得分:241)
是的,您可以使用File
从File.toPath()
对象获取它。请记住,这仅适用于Java 7+。 Java版本6及更低版本没有它。
答案 1 :(得分:31)
与默认
provider
相关联的路径通常可互操作 使用java.io.File
类。其他提供商创建的路径是 不太可能与所表示的抽象路径名互操作 按java.io.File
。toPath
方法可用于从中获取路径 由java.io.File对象表示的抽象路径名。 结果Path可用于操作与文件相同的文件java.io.File
对象。 此外,toFile
方法非常有用 从File
的{{1}}表示构建String
。
(强调我的)
所以,toFile
:
返回表示此路径的
Path
对象。
返回从此抽象路径构造的
File
对象。
答案 2 :(得分:17)
您可能想要File.toPath()
。
答案 3 :(得分:10)
正如许多人所建议的那样,JRE v1.7及更高版本具有File.toPath();
File yourFile = ...;
Path yourPath = yourFile.toPath();
在上面其他帖子中也提到的Oracle jdk 1.7 documentation上,toPath()方法的描述中描述了以下等效代码,该方法可能适用于JRE v1.6;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());