JAvaでプロジェクトパスを取得する方法、staticメソッドでプロジェクトパスを取得する方法
937 ワード
まずjavaでプロジェクトパスを取得する一般的な方法を紹介します:(個人の必要に応じて追加するかどうかを見ます:.substring(1)最初の文字"/")を削除します)
ただし、staticメソッドではthisは使用できません.
この方法では、コンパイルを実行するとポインタ異常が空になるため、staticメソッドで次の方法でパスを取得できます.
(1):this.getClass().getResource("xxx.xml").getPath();
(2):file.getCanonicalPath();
(3):this.getClass().getClassLoader();
(4):System.getProperty("user.dir");
(5):System.getProperty("java.class.path");
(6):Thread.currentThread().getContentClassLoader();
(7):request.getSession().getServletContext();
ただし、staticメソッドではthisは使用できません.
.class.getClass().getResource("/").getPath().substring(1);
この方法では、コンパイルを実行するとポインタ異常が空になるため、staticメソッドで次の方法でパスを取得できます.
public static void test() throws Exception {
String xmlfilePath =new Object() {
public String getPath() {
return this.getClass().getResource("haarcascade_frontalface_alt.xml").getPath();
}
}.getPath().substring(1);
}