java项目获取项目路径怎么写

1. 在java web项目中,如何获取项目的绝对路径(考虑到后期移植不能 通过实现ServletContextListener就可以拿到:
【java项目获取项目路径怎么写】public class .chinacreator.report.listener.PathListener 五、Java中的getResourceAsStream有以下几 。
3. java项目中文件的路径 java项目中文件的路径-方法大全一、相对路径的获得说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)System.getProperty("user.dir");上述相对路径中 , java项目中的文件是相对于项目的根目录web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于tomcat安装目录\bin)二 类加载目录的获得(即当运行时某一类时获得其装载目录)1.1)通用的方法一(不论是一般的java项目还是web项目 , 先定位到能看到包路径的第一级目录)InputStreamis=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); (test.txt文件的路径为 项目名\src\test.txt;类TestPath所在包的第一级目录位于src目录下)上式中将TestPath,test.txt替换成对应成相应的类名和文件名字即可1.2)通用方法二 (此方法和1.1中的方法类似 , 不同的是此方法必须以'/'开头) InputStream is=Test1.class.getResourceAsStream("/test.txt"); (test.txt文件的路径为 项目名\src\test.txt , 类Test1所在包的第一级目录位于src目录下)三 web项目根目录的获得(发布之后)1 从servlet出发可建立一个servlet在其的init方法中写入如下语句(没有请求的话会抛空指针导常)ServletContext s1=this.getServletContext();String temp=s1.getRealPath("/"); (关键) 结果形如:F:\tomcat-6.0.36\webapps\test\(test为项目名字)如果是调用了s1.getRealPath("")则输出F:\tomcat-6.0.36\webapps\test(少了一个"\")2 从.chinacreator.report.listener; import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener; /** * @authorxiaoqun.yi */public class PathListener implementsServletContextListener { private staticServletContext servletContext; public voidcontextDestroyed(ServletContextEvent sce) { this.servletContext= sce.getServletContext(); System.out.println("path=======:"+servletContext.getRealPath("/")); } public voidcontextInitialized(ServletContextEvent arg0) { } }在web.xml中加入如下配置Java代码 : com.chinacreator.report.listener.PathListener 五、Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以'/'开头时默认是从此类所在的包下取资源 , 以'/'开头则是从ClassPath根下获取 。
其只是通过path构造一个绝对路径 , 最终还是由 ClassLoader(类加载器)(获取资源)2. Class.getClassLoader 。. 。