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文件的路径为 项目名srctest.txt;类TestPath所在包的第一级目录位于src目录下)上式中将TestPath,test.txt替换成对应成相应的类名和文件名字即可1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头) InputStream is=Test1.class.getResourceAsStream("/test.txt"); (test.txt文件的路径为 项目名srctest.txt,类Test1所在包的第一级目录位于src目录下)三 web项目根目录的获得(发布之后)1 从servlet出发可建立一个servlet在其的init方法中写入如下语句(没有请求的话会抛空指针导常)ServletContext s1=this.getServletContext();String temp=s1.getRealPath("/"); (关键) 结果形如:F:tomcat-6.0.36webappstest(test为项目名字)如果是调用了s1.getRealPath("")则输出F:tomcat-6.0.36webappstest(少了一个"")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。.。