詳細情報で質問を書き直しました
次のように、相対パスを使用してPath
オブジェクトを作成するコードがあります:Paths.get("..", "folder").resolve("filename")
。後で、そこからパス文字列 "..\folder\filename"を取得したい(Windowsを使用しているため、バックスラッシュが必要です)。手動コンパイルまたはEclipseを使用してこのコードを実行すると、正常に機能します。
ただし、Mavenを使用して実行すると、機能しなくなります。 toString()
メソッドは、実際のパス文字列の代わりに_[.., folder, filename]
_を返します。 path.normalize()
を使用しても役に立ちません。 path.toFile().getPath()
を使用すると、探しているものが返されますが、_nio.path
_ APIのみを使用した解決策があるはずです。
使用する:
Paths.get(...).normalize().toString()
別の解決策は次のとおりです。
Paths.get(...).toAbsolutePath().toString()
ただし、奇妙な結果が得られます。Paths.get("/tmp", "foo").toString()
はここで/tmp/foo
を返します。あなたのファイルシステムは何ですか?