からPathオブジェクトを取得することは可能java.io.Fileですか?
toFile()メソッドを使用してパスをファイルに変換できることは知っていますが、逆の変換は見つかりませんでした。Java 6以前でこれを行う方法はありますか?
からPathオブジェクトを取得することは可能java.io.Fileですか?
toFile()メソッドを使用してパスをファイルに変換できることは知っていますが、逆の変換は見つかりませんでした。Java 6以前でこれを行う方法はありますか?
回答:
はい、をFile使用してオブジェクトから取得できますFile.toPath()。これはJava 7以降のみを対象としています。Javaバージョン6以下にはありません。
PathはJava 7で導入されたため、残念ながら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());