现在的位置: 首页 > 综合 > 正文

关于classpath和当前类的绝对路径的一些方法

2018年01月28日 ⁄ 综合 ⁄ 共 1574字 ⁄ 字号 评论关闭

绝对路径的几种方法

下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些

方法来得到你需要的资源的绝对路径。

1、FilePath.class.getResource("")

得到的是当前类FileTest.class文件的URI目录。不包括自己!

2、FilePath.class.getResource("/")

得到的是当前的classpath的绝对URI路径。

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

得到的也是当前ClassPath的绝对URI路径。

4、FilePath.class.getClassLoader().getResource("")

得到的也是当前ClassPath的绝对URI路径。

5、ClassLoader.getSystemResource("")

得到的也是当前ClassPath的绝对URI路径。

   
推荐使用Thread.currentThread().getContextClassLoader().getResource("")。

 

代码如下:

 

/**

 *得到当前的classPath的绝对路径的URI几种表示法

 */

public static void main(String[] args) {

    //1.得到的是当前类FileTest.class文件的URI目录。不包括自己!

    System.out.println(FilePath.class.getResource(""));

    

    //2.得到的是当前的classPath的绝对URI路径。

    System.out.println(FilePath.class.getResource("/")); // Class文件所在路径

    

    //3.得到的也是当前ClassPath的绝对URI路径。

    System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));

    

    //4.得到的也是当前ClassPath的绝对URI路径。

    System.out.println(FilePath.class.getClassLoader().getResource(""));

    //5.得到的也是当前ClassPath的绝对URI路径。

    System.out.println(ClassLoader.getSystemResource(""));

 

    //人为得到

    System.out.println(new File("/").getAbsolutePath());

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

}

 

 

执行结果如下:

 

file:/D:/WorkSpaces/myEclipse/szproj/WebRoot/WEB-INF/classes/suzhou/java/day11/file/

file:/D:/WorkSpaces/myEclipse/szproj/WebRoot/WEB-INF/classes/

file:/D:/WorkSpaces/myEclipse/szproj/WebRoot/WEB-INF/classes/

file:/D:/WorkSpaces/myEclipse/szproj/WebRoot/WEB-INF/classes/

file:/D:/WorkSpaces/myEclipse/szproj/WebRoot/WEB-INF/classes/

D:/

D:/WorkSpaces/myEclipse/szproj

 

 

抱歉!评论已关闭.