内のパスへの参加:は、私が<code>os.path.join</code>で二つの経路に参加でき<code>Python</code>でのJava
os.path.join("foo", "bar") # => "foo/bar"
私はOS
がUnix
、Solaris
またはWindows
であれば気にせずに、Javaで同じことをachiveしようとしている:
public static void main(String[] args) {
Path currentRelativePath = Paths.get("");
String current_dir = currentRelativePath.toAbsolutePath().toString();
String filename = "data/foo.txt";
Path filepath = currentRelativePath.resolve(filename);
// "data/foo.txt"
System.out.println(filepath);
}
私は、Path.resolve()
が現在のディレクトリ/home/user/test
とdata/foo.txt
を結ぶことを期待していました。/home/user/test/data/foo.txt
です。 何が間違っていますか?
これは私が見ていないものかもしれません。あなたの現在のパスは ""です。あなたの2番目のパスは "data/foo.txt"です。おそらくあなたの問題は 'filepath.toString()'の代わりにPathオブジェクトを表示しているようです。 – cjds
'' '新しいファイル(親子)' ''を使用しています – saka1029