java中如何获取项目中的文件路径

在java项目中经常会有需要读取项目中文件的情形,如:读取配置文件内容等,那么应该如何获取文件路径呢?

在java中有一个方法:getResource(String name) 用于获取文件资源。下面看一下如何获取文件路径:

项目结构如下:

代码如下:

public class TestPath {
   public static void main(String[] args){
      String path1 = TestPath.class.getResource("").getPath();
      String path2 = TestPath.class.getResource("/").getPath();
      String path3 = TestPath.class.getClassLoader().getResource("").getPath();

      System.out.println(path1);
      System.out.println(path2);
      System.out.println(path3);
   }
}

 运行结果如下:

path1: /D:/testPath/out/production/testPath/test/
path2: /D:/testPath/out/production/testPath/
path3: /D:/testPath/out/production/testPath/

在上面的例子中,/D:/testPath/out/production/testPath/ 是项目的根目录

  1. Class.getResource("")直接获取到类所在目录
  2. Class.getResource("/")则是获取到根目录
  3. getClassLoader().getResource("")也获取到根目录

注意:在使用 getClassLoader() 时,getResource() 的参数不能以 "/" 开头。

至于他们的原理和调用方式,本人目前还只能意会哈,建议大家看看类加载器的知识点,附录中的参考文档可以学习一下。

 


参考文档:https://blog.csdn.net/zhangshk_/article/details/82704010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值