Javaでクラスパスの取得方法
JavaではClassクラスのgetResource()メソッドを利用してクラスパスを取得することができます。このメソッドはURLオブジェクトを返却し、getPath()メソッドでクラスパスの文字列表現を取得することができます。
サンプルコードは以下のとおりです:
public class Main {
public static void main(String[] args) {
// 获取当前类的类路径
String classPath = Main.class.getResource("").getPath();
System.out.println("Class Path: " + classPath);
// 获取当前类所在包的类路径
String packagePath = Main.class.getPackage().getName().replace(".", "/");
URL packageUrl = Main.class.getClassLoader().getResource(packagePath);
String packagePathStr = packageUrl.getPath();
System.out.println("Package Path: " + packagePathStr);
}
}
ネイティブに日本語で言い換えると、
Class Path: /path/to/project/src/com/example/
Package Path: /path/to/project/src/com/example/
注意、ここで取得するのはクラスパスであって、クラスファイルの物理パスではありません。クラスファイルの物理パスを取得する場合は、FileクラスのgetAbsolutePath()メソッドを利用してください。