現在のクラスファイルへのパスの2つ上のディレクトリまでのパスを取得したい.私はこれを使用しています:
Test.class.getProtectionDomain().getCodeSource().getLocation().getPath()
しかし、現在のクラスファイルへのパスのみを提供しますが、これの親の親までのパスを取得したいのです。部分文字列を使用せずにこれを取得するクリーンな方法はありますか?
現在のクラスファイルへのパスの2つ上のディレクトリまでのパスを取得したい.私はこれを使用しています:
Test.class.getProtectionDomain().getCodeSource().getLocation().getPath()
しかし、現在のクラスファイルへのパスのみを提供しますが、これの親の親までのパスを取得したいのです。部分文字列を使用せずにこれを取得するクリーンな方法はありますか?
URL からを作成すると、次のようにFile
呼び出すことができますgetParentFile()
。
URL fileUrl = Test.class.getProtectionDomain().getCodeSource().getLocation();
File file = new File(fileUrl.toURI);
String grandParent = file.getParentFile().getParent();
これも機能するはずです:
String grandParent = Test.class.getResource("../../").toString();