1

私のプログラムは、別のディレクトリにある特定のファイルを使用する必要があります。現在、ファイルの場所を指定するために絶対パスを使用しています。しかし、これらのファイルの相対的な位置は、私のプログラムが存在する場所と比較して同じままであることを私は知っています。Javaで相対パスを使用してこれらのファイルの場所を指定するにはどうすればよいですか?

たとえば、私のプログラムは

/home/username/project/src/com/xyz/

..そしてターゲットファイルは..

/home/username/project/secure/
4

3 に答える 3

3

たとえば、私のプログラムは /home/username/project/src/com/xyz/ にあります

ターゲットファイルは /home/username/project/secure/ にあります

プログラムのソース コードが存在する場所を知っていても役に立ちません。知っておく必要があるのは、実行時のプログラムの現在のディレクトリです。それは文字通り何でもかまいません。(たとえば) Eclipse からアプリケーションを起動している場合でも、アプリケーション ランチャーを使用すると、実行構成で子プロセスの「現在のディレクトリ」を指定できます。

于 2012-06-29T10:20:34.853 に答える
2

あなたの現在の道。

 currentPath= /home/username/project/src/com/xyz/;

「/home/username/project/secure/」フォルダへの相対パスは

relativePath= ../../../secure;
于 2012-06-29T10:02:39.433 に答える
0

getParentFile()Javaでは、ツリーをトラバースするために使用できます。

File currentDir = new File(".");
File parentDir = currentDir.getParentFile();

システムに依存するファイルセパレータ(../)を使用していないため、これは安全です。

于 2012-06-29T10:17:59.173 に答える