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

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

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

项目结构如下:

java中如何获取项目中的文件路径_第1张图片

代码如下:

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

你可能感兴趣的:(JAVA基础)