是否有可能从java.io.File中获得Path对象?
java.io.File
我知道你可以使用toFile()方法将路径转换为文件,但我找不到相反的转换。在Java 6或更低版本中有办法做到这一点吗?
toFile()
是的,你可以通过使用File.toPath()从File对象中获取它。请记住,这仅适用于Java 7+。Java版本6及以下没有它。
File.toPath()
File
你可能需要File.toPath()。
从的文档:
与默认provider相关联的路径通常是可互操作的 java.io.File类。由其他提供程序创建的路径是 不太可能与所表示的抽象路径名互操作 java.io.File。toPath方法可用于获取的路径 由java.io.File对象表示的抽象路径名。< / >强 的结果路径可用于操作相同的文件 java.io.File对象。此外,toFile方法对 从Path的String表示构造一个File。 . b
provider
toPath
toFile
Path
String
(强调我的)
因此,对于toFile:
返回一个表示此路径的File对象。
和toPath:
返回由此抽象路径构造的java.nio.file.Path对象。
java.nio.file.Path
正如许多人所建议的,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());