から Path オブジェクトを取得することは可能java.io.File
ですか?
メソッドを使用してパスをファイルに変換できることは知っていますtoFile()
が、逆の変換が見つかりませんでした。Java 6以下でこれを行う方法はありますか?
File
はい、を使用してオブジェクトから取得できますFile.toPath()
。これはJava7以降専用であることに注意してください。Javaバージョン6以下にはありません。
ドキュメントから:
デフォルトに関連付けられたパスは、通常、クラス
provider
と相互運用可能です。java.io.File
他のプロバイダーによって作成されたパスは、で表される抽象パス名と相互運用できる可能性は低いjava.io.File
です。このtoPath
メソッドを使用して、java.io.Fileオブジェクトで表される抽象パス名からパスを取得できます。結果のパスは、オブジェクトと同じファイルを操作するために使用できjava.io.File
ます。さらに、このメソッドは、の表現からtoFile
を構築するのに役立ちます。File
String
Path
(強調鉱山)
だから、のためにtoFile
:
File
このパスを表すオブジェクトを返します。
そしてtoPath
:
java.nio.file.Path
この抽象パスから構築されたオブジェクトを返します。
あなたはおそらく欲しいです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());