私はしばしばので、この要約を書くために、私はプロジェクトを書いている時点で混乱になり、問題をルーティングし、新人でした。
相対パス
1、Javaでの相対パスは、JVMの起動パスが相対的であり、一般的には、プロジェクト名の下で開始されました。
ここでの例では、私は、ディレクトリのテストプロジェクトである、書き込みにEclipseを使用します
サンプルコード:
パブリック クラスDEMO1 { 公共 静的 ボイドメイン(文字列[]引数)をスロー例外{ ファイルF1 = 新しいファイル(「test1.txtというを」)。 ファイルF2 = 新しいファイル( "./ test2.txtという名前" ); ファイルF3 = 新しいファイル( "SRC / test3.txt" ); ファイルF4 = 新しいファイル( "test4.txt" ); System.out.println(f1.exists() + ":" + f1.getCanonicalPath()); System.out.println(f2.exists() + ":" + f2.getCanonicalPath()); するSystem.out.println(F3。+ ":" + f3.getCanonicalPath()); System.out.println(f4.exists() + ":" + f4.getCanonicalPath()); } }
出力:
真:D:\スパム\パス\ test1.txtという 真:D:\スパム\パス\ test2.txtという名前の 真:D:\スパム\パス\ SRC \ test3.txt 偽:D:\スパム\パス\ test4.txt
説明:
①の例から、我々はすべてのファイルがDに相対的なもので見ることができます:\パスが確立スパム\パスを。
現在のJVM起動時のディレクトリとは対照的に、すべて同じセマンティック②」./ TEST2" と 『TEST1』は、表現しました
③「../テストは、」上のディレクトリにカレントディレクトリを示し、
意味表現ファイルを教え④test4のみ1つのパスです
2、ある、getPath()、getAbsolutePath()、getCanonicalPath()区别
例:
パブリック クラスDEMO1 { 公共 静的 ボイドメイン(文字列[]引数)をスロー例外{ ファイルF1 = 新しいファイル(「test1.txtというを」)。 ファイルF2 = 新しいファイル( "./ test2.txtという名前" ); ファイルF3 = 新しいファイル( "SRC / test3.txt" ); System.out.println(f1.exists() + ":" + f1.getPath()); System.out.println(f2.exists() + ":" + f2.getAbsolutePath()); System.out.println(f2.exists() + ":" + f2.getCanonicalPath()); するSystem.out.println(F2。f2.getPath())。 System.out.println(f3.exists() + ":" + f3.getCanonicalPath()); } }
出力:
真:test1.txtという 真:D:\スパム\パス\ \ test2.txtという名前。 真:D:\スパム\パス\ test2.txtという名前の 真:\ test2.txtという名前の 真:D:\スパム\パス\ SRC \ test3に。txt
説明:
①getPath():あなたは、文字列の取得は、ファイルを作成することです見ることができます
②getAbsolutePath():絶対パスが解析されていない取得
③getCanonicalPath():絶対パス指定を得ます
図3に示すように、ファイルClass.getResource(文字列のパス)をロード
例:
パブリック クラスDEMO2 { 公共 静的 ボイドメイン(文字列[]引数)をスロー例外{ クラス <?> C = DEMO2を。クラス。 System.out.println(c.getResource( "" )); System.out.println(c.getResource( "/" )); System.out.println(c.getResource( "" ).toURI()); ファイルF1 = 新しいファイル(c.getResource( "/ test3.txt" ).toURI()); System.out.println(f1.exists() + ":" + f1.getPath()); } }
出力:
ファイル:/ D:/スパム/パス/ binに/テスト/ ファイル: / D:/スパム/パス/ binに/ ファイル: / D:/スパム/パス/ binに/テスト/ 真:D:\スパム\パス\ binに\ test3.txt
説明:
getResource(文字列のパス)ファイルをロードするための一般的な方法、およびDに関して:/スパム/パス/ binディレクトリ、
.javaファイル用の.classファイルのsrcディレクトリのbinディレクトリ、と実質的にbinディレクトリおよびsrcディレクトリが対応します。
絶対パスは非常に単純に、と言って何も言うことはないではありません。