从java.io.File获取java.nio.file.Path对象

Kar*_*120 196 java file path java-6

是否可以从java.io.File?获取Path对象?

我知道你可以使用toFile()方法将路径转换为文件,但我找不到相反的转换.有没有办法在Java 6或更低版本中执行此操作?

Viv*_*ath 266

是的,您可以File通过使用从对象获取它File.toPath().请记住,这仅适用于Java 7+.Java版本6及更低版本没有它.

  • `Path`是在Java 7中引入的,所以遗憾的是在Java 6及以下版本中无法做到这一点. (6认同)

wch*_*gin 32

文档:

与默认关联的路径provider通常可与java.io.File类互操作.其他提供程序创建的路径不太可能与表示的抽象路径名互操作java.io.File.toPath方法可用于从java.io.File对象表示的抽象路径名中获取Path.生成的Path可用于在与java.io.File对象相同的文件上操作 .另外,该toFile方法对于File从a 的String表示构造a是有用的Path.

(强调我的)

因此,对于toFile:

返回File表示此路径的对象.

而且toPath:

返回java.nio.file.Path从此抽象路径构造的对象.


her*_*ung 19

你可能想要File.toPath().


小智 10

正如许多人所建议的,JRE v1.7及更高版本具有File.toPath();

File yourFile = ...;
Path yourPath = yourFile.toPath();
Run Code Online (Sandbox Code Playgroud)

Oracle的JDK 1.7文档这也是在上述其他职位提及,下面的等效代码是在描述用于toPath()方法,其可用于JRE V1.6工作描述;

File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());
Run Code Online (Sandbox Code Playgroud)