java获取当前项目路径:
- object.class.getResource()方法获得当前生成的class的绝对路径(此方法在jar包中无效,因为他获得的是生成的class的路径,返回的内容最后包含/)
//当前的类名就是:GetFilePath
public static String getFilePath(String fileName)
{
String path = GetFilePath.class.getResource("").toString();
if (path != null)
{
path = path.substring(5, path.indexOf("WEB-INF") + 8);//如果是windwos将5变成6
//System.out.println("current path :" + path);
}
return (path + fileName);
}
- getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。返回的内容最后包含/)
例如 项目在/D:/workspace/MainStream/Test
在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/
public String getCurrentPath(){
//取得根目录路径
String rootPath=getClass().getResource("/").getFile().toString();
//当前目录路径
String currentPath1=getClass().getResource(".").getFile().toString();
String currentPath2=getClass().getResource("").getFile().toString();
//当前目录的上级目录路径
String parentPath=getClass().getResource("../").getFile().toString();
return rootPath;
}
public String getCurrentPath(){
//取得根目录路径
String rootPath=getClass().getResource("/").getFile().toString();
//当前目录路径
String currentPath1=getClass().getResource(".").getFile().toString();
String currentPath2=getClass().getResource("").getFile().toString();
//当前目录的上级目录路径
String parentPath=getClass().getResource("../").getFile().toString();
return rootPath;
}
- 利用System.getProperty()函数获取当前路径,得到项目文件夹的根目录,不带/
例如 项目在 D:\workspace\testPorjject
者System.getProperty("user.dir") 返回 D:\workspace\testPorjject
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
- 使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
- web 项目中
jsp中:
request.getContextPath()
request.getSession().getServletContext().getRealPath()
servlet中:
this.getServletContext().getRealPath("/");
this.getServlet().getServletContext().getRealPath("/");