から 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を構築するのに役立ちます。FileStringPath
(強調鉱山)
だから、のために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());