1. 在jsp文件或Servlet中,能夠經過getServletContext().getRealPath("/")來獲取項目根目錄的絕對路徑。java
2. Java桌面程序中,能夠經過(new File("")).getAbsolutePath()獲取項目根目錄(非Tomcat下)。linux
.3. 在Tomcat下運行的類中,(new File("")).getAbsolutePath()得到的路徑是Tomcat安裝路徑下的bin文件夾下,將得到的路徑字符串去掉最後的"bin"再添上"webapps\\項目文件夾名"便可。git
4.web工程web
/**
* @Description 獲取web項目的根目錄, E:/WorkSpace/qyqt
* 能夠在windows,linux下tomcat,weblogic以包方式正確執行
* @author YY
* @date 2011-10-29/下午09:36:47
*/
public static String getRealRootPath() {
String classPath = null;
try {
//toURI() 20% to 空格
classPath = ExcelUtil.class.getClassLoader().getResource("/").toURI().getPath();
} catch (URISyntaxException e) {windows
e.printStackTrace();
}tomcat
String rootPath = "";
//windows下
if("\\".equals(File.separator)){
rootPath = classPath.substring(1,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("/", "\\");
}
//linux下
if("/".equals(File.separator)){
rootPath = classPath.substring(0,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("\\", "/");
}
return rootPath;
}app
5。webapp
ClassLoader cl = IphoneApnsTask.class.getClassLoader();
InputStream is = cl.getResourceAsStream("com/mybank/aaa/aa.pm");jsp
packagemy;
import java.io.File;
import java.io.IOException;
import java.net.URL;
publicclassMyUrlDemo{
publicstaticvoid main(String[] args){
MyUrlDemo muDemo =newMyUrlDemo();
try{
muDemo.showURL();
}catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
publicvoid showURL()throwsIOException{
// 第一種:獲取類加載的根路徑 D:\git\daotie\daotie\target\classes
File f =newFile(this.getClass().getResource("/").getPath());
System.out.println(f);
// 獲取當前類的所在工程路徑; 若是不加「/」 獲取當前類的加載目錄 D:\git\daotie\daotie\target\classes\my
File f2 =newFile(this.getClass().getResource("").getPath());
System.out.println(f2);
// 第二種:獲取項目路徑 D:\git\daotie\daotie
File directory =newFile("");// 參數爲空
String courseFile = directory.getCanonicalPath();
System.out.println(courseFile);
// 第三種: file:/D:/git/daotie/daotie/target/classes/
URL xmlpath =this.getClass().getClassLoader().getResource("");
System.out.println(xmlpath);
// 第四種: D:\git\daotie\daotie
System.out.println(System.getProperty("user.dir"));
/*
* 結果: C:\Documents and Settings\Administrator\workspace\projectName
* 獲取當前工程路徑
*/
// 第五種: 獲取全部的類路徑 包括jar包的路徑
System.out.println(System.getProperty("java.class.path"));
}
}