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

绝对路径的几种方法

下面是一些得到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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值