Java 路径汇总

Java Class

System.getProperty("user.dir");    

new File("/")

Thread.currentThread().getContextClassLoader().getResource("")

FileTest.class.getClassLoader().getResource("")

ClassLoader.getSystemResource("")

FileTest.class.getResource("")

FileTest.class.getResource("/")

new File("/").getAbsolutePath()


JSP

request.getRequestURI()  -- 根目录所对应的绝对路径

application.getRealPath(request.getRequestURI()) -- 文件的绝对路径

application.getRealPath("/")  --  当前web应用的绝对路径

new File(application.getRealPath(request.getRequestURI())).getParent() -- 取得请求文件的上层目录

servletConfig.getServletContext().getRealPath("/")  -- 当前web应用的绝对路径


Servlet

request.getServletPath()  -- 根目录所对应的绝对路径

request.getSession().getServletContext().getRealPath(request.getRequestURI())  -- 文件的绝对路径


服务器路径

1) Weblogic

new FileInputStream("yourconfig/yourconf.properties")

new FileInputStream("./yourconfig/yourconf.properties")


2)Tomcat

System.getProperty("user.dir")


1. System.getProperty("user.dir");    

说明: User's current working directory;通俗的说就是运行dos命令的那个目录。

例子: 写了一个java   FilePathTest.java; 位于包 basic下面。

package basic;
public class FilePathTest {
	public static void main(String[] args) {
		String sPath = System.getProperty("user.dir");
		System.out.println(sPath);
	}
}

使用javac命令编译成.class的文件(eclipse下自动就生成了,位于 bin目录下)

测试例子1:

  将文件夹basic和里面的 FilePathTest.class文件

   1)拷到C盘根目录:进入dos命名,输入  java basic.FilePathTest     回车==>  C:\

   2)拷到D盘根目录:进入dos命名,输入  java basic.FilePathTest     回车==>  D:\

测试例子2:

   将此Class打包成jar档, 执行  "java -jar jarname", 效果和测试例子1是一样的


测试例子3:

   如果是web项目,使用这种方式会视不同的web服务器不同而不同

    比如在Tomcat 中,JSP方式调用取到的是Tomcat的安装根目录。

    所以在web项目中,这种方式基本上没什么用。

你可能感兴趣的:(java,tomcat,jsp,dos,测试,basic)