如何在java中获取当前项目的路径

Python011

如何在java中获取当前项目的路径,第1张

很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~

在jsp和class文件中调用的相对路径不同。

在jsp里,根目录是WebRoot

在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用System.getProperty("user.dir")获取工程的绝对路径。

1.jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D: esinwebappsTEST est.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent() 结果:D: esinwebappsTEST

2.在class类中取得路径:

(1)类的绝对路径:Class.class.getClass().getResource("/").getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:System.getProperty("user.dir") 结果:D:TEST

3.在Servlet中取得路径: (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 结果:E:TomcatwebappsTEST (2)得到IE地址栏地址:request.getRequestURL() 结果:http://localhost:8080/TEST/test (3)得到相对地址:request.getRequestURI() 结果:/TEST/test

package my  

  

import java.io.File  

import java.io.IOException  

import java.net.URL  

  

public class MyUrlDemo {  

  

      

    public static void main(String[] args) {  

        MyUrlDemo muDemo = new MyUrlDemo()  

        try {  

            muDemo.showURL()  

        } catch (IOException e) {  

            // TODO Auto-generated catch block  

            e.printStackTrace()  

        }  

    } public void showURL() throws IOException {  

          

        // 第一种:获取类加载的根路径   D:\git\daotie\daotie\target\classes  

        File f = new File(this.getClass().getResource("/").getPath())  

        System.out.println(f)  

  

        // 获取当前类的所在工程路径 如果不加“/”  获取当前类的加载目录  D:\git\daotie\daotie\target\classes\my  

        File f2 = new File(this.getClass().getResource("").getPath())  

        System.out.println(f2)  

  

        // 第二种:获取项目路径    D:\git\daotie\daotie  

        File directory = new File("")// 参数为空  

        String courseFile = directory.getCanonicalPath()  

        System.out.println(courseFile)  

          

  

        // 第三种:  file:/D:/git/daotie/daotie/target/classes/  

        URL xmlpath = this.getClass().getClassLoader().getResource("")  

        System.out.println(xmlpath)  

      

  

        // 第四种: D:\git\daotie\daotie  

        System.out.println(System.getProperty("user.dir"))  

        /* 

         * 结果: C:\Documents and Settings\Administrator\workspace\projectName 

         * 获取当前工程路径 

         */  

  

        // 第五种:  获取所有的类路径 包括jar包的路径  

        System.out.println(System.getProperty("java.class.path"))  

          

    }  

}

File f = new File(this.getClass().getResource("").getPath())

System.out.println(f)结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test

获取当前类的绝对路径;第二种:File directory = new File("")//参数为空

String courseFile = directory.getCanonicalPath()

System.out.println(courseFile)结果:C:\Documents and Settings\Administrator\workspace\projectName

获取当前类的所在工程路径第三种:URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt")

System.out.println(xmlpath)结果:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt

获取当前工程src目录下selected.txt文件的路径第四种:System.out.println(System.getProperty("user.dir"))结果:C:\Documents and Settings\Administrator\workspace\projectName

获取当前工程路径第五种:System.out.println( System.getProperty("java.class.path"))结果:C:\Documents and Settings\Administrator\workspace\projectName\bin获取当前工程路径