Java での相対パス
Mohammad Irfan
2023年10月12日
- Java でファイルを見つけるための相対パスを定義する
- Java で親ディレクトリの相対パスを定義する
- Java の現在のディレクトリで相対パスを定義する
-
Java で
../../
プレフィックスを使用して相対パスを定義する
このチュートリアルでは、Java で相対パスを定義する方法を紹介します。
相対パスは不完全なパス(ルートディレクトリがない)であり、現在のディレクトリパスと組み合わされてリソースファイルにアクセスします。相対パスは、ファイルシステムのルート要素で始まりません。
相対パスを使用して、現在のディレクトリまたは親ディレクトリ、あるいは同じ階層内のファイルを検索します。
相対パスを定義するには、現在のディレクトリパスを参照する ./
、直接の親ディレクトリパスを参照する ../
など、いくつかの方法があります。いくつかの例を見てみましょう。
Java でファイルを見つけるための相対パスを定義する
相対パスを使用して、現在の作業ディレクトリでファイルリソースを見つけることができます。以下の例を参照してください。
import java.io.File;
public class SimpleTesting {
public static void main(String[] args) {
String filePath = "files/record.txt";
File file = new File(filePath);
String path = file.getPath();
System.out.println(path);
}
}
出力:
files/record.txt
Java で親ディレクトリの相対パスを定義する
../
プレフィックスとファイルパスを使用して、親ディレクトリ内のファイルを見つけることができます。これは、親ディレクトリ内のファイルにアクセスするための相対パスです。以下の例を参照してください。
import java.io.File;
public class SimpleTesting {
public static void main(String[] args) {
String filePath = "../files/record.txt";
File file = new File(filePath);
String path = file.getPath();
System.out.println(path);
}
}
出力:
../files/record.txt
Java の現在のディレクトリで相対パスを定義する
ファイルリソースが現在のディレクトリにある場合は、パスに ./
プレフィックスを使用して相対ファイルパスを作成できます。以下の例を参照してください。
import java.io.File;
public class SimpleTesting {
public static void main(String[] args) {
String filePath = "./data-files/record.txt";
File file = new File(filePath);
String path = file.getPath();
System.out.println(path);
}
}
出力:
./data-files/record.txt
Java で ../../
プレフィックスを使用して相対パスを定義する
ファイルがディレクトリ構造の上位 2 レベルにある場合は、ファイルパスに ../../
プレフィックスを使用します。以下の例を参照してください。
import java.io.File;
public class SimpleTesting {
public static void main(String[] args) {
String filePath = "../../data-files/record.txt";
File file = new File(filePath);
String path = file.getPath();
System.out.println(path);
String absPath = file.getAbsolutePath();
System.out.println(absPath);
}
}
出力:
../../data-files/record.txt