Javaファイルパスの取得


1.サーブレットFilterなどのサーブレットWeb環境でjavax.servlet.サーブレットContextタイプを取得すれば、getRealPath("...")でパスを取得できます.相対パスの最上位ディレクトリは、パラメータ「/」で取得できます.request.getSession().getServletContext().getRealPath("/");
2.JSPカスタムラベルjavax.servlet.jsp.tagext.TagSupport((javax.servlet.Service Context)pageContext).getRealPath(");
3.通常のJava Classオブジェクトファイルで使用する:this.getClass().getResource("???");Classファイルが最上位ディレクトリ(パッケージ)にあり、「???」が空白文字列(「」)の場合、jarファイルで実行するとnullが返されます.最上位ディレクトリ(パッケージ)以下の各階層ディレクトリ(パッケージ)には、プロトコルを含むURLが返されます.各階層のフォルダ(パッケージ)間は「/」で区切られます.
 
プロジェクトの場所:D:BeyondTrack--referencejBPMWebDesign
JAvacode位置:D:BeyondTrack--referencejBPMWebDesignerbuildwebclassesetjavadevbeyondtrackwebworkflowdesignerjapplet
ファイルの場所:D:BeyondTrack--referencejBPMWebDesignsrcjavaetjavadevbeyondtrackwebworkflowdesignericon
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.java.dev.beyondtrack.web.workflow.designer.japplet;

import javax.swing.ImageIcon;

/**
*
* @author pub32
*/
public class NewMain {

public NewMain () {
System.out.println(this.getClass().getResource(""));
System.out.println(this.getClass().getResource("."));
System.out.println(this.getClass().getResource(".."));
System.out.println(this.getClass().getResource("/"));
System.out.println(this.getClass().getResource("point.png"));
System.out.println(this.getClass().getResource("/point.png"));
System.out.println(this.getClass().getResource("./point.png"));
System.out.println(this.getClass().getResource("../point.png"));
System.out.println(this.getClass().getResource("icon/point.png"));
System.out.println(this.getClass().getResource("/icon/point.png"));
System.out.println(this.getClass().getResource("./icon/point.png"));
System.out.println(this.getClass().getResource("../icon/point.png"));
}

public static void main(String[] args) {
System.out.println("====== Test.class ======");
NewMain test = new NewMain();
}
}

====== Test.class ======
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/
null
null
null
null
null
null
null
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/icon/point.png
BUILD SUCCESSFUL (total time: 0 seconds)