java获取当前项目路径:
- object.class.getResource()方法获得当前生成的class的绝对路径(此方法在jar包中无效,因为他获得的是生成的class的路径,返回的内容最后包含/)
- publicstatic 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
- }
- 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;
- }
- 利用System.getProperty()函数获取当前路径,得到项目文件夹的根目录,不带/
例如 项目在 D:\workspace\testPorjject
者System.getProperty("user.dir") 返回 D:\workspace\testPorjject
System.out.println(System.getProperty("user.dir"));
//user.dir指定了当前的路径
- File directory = new File("");
//设定为当前文件夹
- try{
- System.out.println(directory.getCanonicalPath());
- System.out.println(directory.getAbsolutePath());
- }catch(Exceptin e){}
jsp中:
request.getContextPath()
request.getSession().getServletContext().getRealPath()
servlet中:
this.getServletContext().getRealPath("/");
this.getServlet().getServletContext().getRealPath("/");
--转自
该贴由hui.chen转至本版2015-7-30 15:23:13