からオブジェクトがjava.io.File
からパスオブジェクトを取得することが可能ですか?取得java.nio.file.Path java.io.Fileの
私はあなたがtoFile()
メソッドを使用してファイルへのパスを変換することができます知っているが、私は逆の変換を見つけることができませんでした。 Java 6以降でこれを行う方法はありますか?
からオブジェクトがjava.io.File
からパスオブジェクトを取得することが可能ですか?取得java.nio.file.Path java.io.Fileの
私はあなたがtoFile()
メソッドを使用してファイルへのパスを変換することができます知っているが、私は逆の変換を見つけることができませんでした。 Java 6以降でこれを行う方法はありますか?
はい、File.toPath()
を使用してFile
オブジェクトから取得できます。これはJava 7以上のためのものであることに留意してください。 Javaバージョン6以降にはそれがありません。
Java 6以下でこれを達成する方法はありますか? – Karlovsky120
'Path'はJava 7で導入されたので、残念ながらJava 6以降ではこれを行う方法がありません。 –
あなたはおそらくFile.toPath()
をしたいです。 the documentationから
:デフォルトprovider
に関連付けられている
パスが
java.io.File
クラスと 一般的に相互運用が可能です。他のプロバイダによって作成されたパスは であり、 で表される抽象パス名との相互運用性はほとんどありません。java.io.File
です。toPath
方法はjava.io.Fileのオブジェクトによって表される 抽象パス名とパスを取得するために使用することができます。 得パスjava.io.File
オブジェクトと同じファイルを操作するために使用することができます。また、toFile
方法はPath
のString
表現からFile
を構築 に有用です。toFile
ためだから
(強調鉱山)
:
は、このパスを表す
File
オブジェクトを返します。
そしてtoPath
:
は、この抽象パスから構築
java.nio.file.Path
オブジェクトを返します。
多くの人が示唆しているように、JRE v1.7以上にはFile.toPath()があります。オラクルjdk 1.7 documentationまた、上記他の記事に記載された
File yourFile = ...;
Path yourPath = yourFile.toPath();
、以下の同等のコードは、JREバージョン1.6のために働くことができるtoPath()メソッドの説明に記載されています。
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());
HaevあなたはAPIのドキュメントを見ましたか? –
はい、resolveとresolveSiblingメソッドを見ましたが、これはファイル(または文字列)をパスに正確に変換するのではなく、むしろその方法で連結しました。 – Karlovsky120
[documentation](http://docs.oracle.com/javase/7/docs/api/java/io/File.html#toPath())@VivinPaliathも同様です。 – Perception