1. 程式人生 > >Java在不同環境下獲取當前路徑的方法--this getClass getResource

Java在不同環境下獲取當前路徑的方法--this getClass getResource

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

 1. 在Servlet/Filter等Servlet web環境中,只要獲得javax.servlet.ServletContext型別,則可以通過 getRealPath("...") 獲得路徑。相對路徑中最頂層目錄可通過引數“"/"”獲取。
request.getSession().getServletContext().getRealPath("/");

2. JSP自定義標籤javax.servlet.jsp.tagext.TagSupport
((javax.servlet.ServletContext)pageContext).getRealPath("");

3. 普通Java Class物件檔案中使用:
this.getClass().getResource("???");
如果Class檔案在頂層目錄(包)中,且“???”為空白字串(“""”),及此方法在jar檔案中執行則會返回null。在頂層目錄(包)以下的各層目錄(包)則會返回包含協議的URL。各層資料夾(包)之間使用“/”分隔。

 

專案位置:D:/BeyondTrack--reference/jBPMWebDesigner

javacode 位置:D:/BeyondTrack--reference/jBPMWebDesigner/build/web/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet

檔案位置:D:/BeyondTrack--reference/jBPMWebDesigner/src/java/net/java/dev/beyondtrack/web/workflow/designer/icon

 

 

/*
 * 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)

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述