java项目中获取文件路径的几种方法

时间:2020-12-13 19:27:24
 1  // 第一种:
 2  File f = new File(this.getClass().getResource("/").getPath());
 3  // 结果: /Users/admin/Documents/IdeaProjects/Demo/out/production/Demo
 4  System.out.println(f);
 5 
 6  f = new File(this.getClass().getResource("").getPath());
 7  // 多返回了包名
 8  // 结果: /Users/admin/Documents/IdeaProjects/Demo/out/production/Demo/com/company
 9  System.out.println(f);
10 
11 
12  // 第二种:获取项目名
13  File directory = new File("");
14  String courseFile = null;
15  try {
16     courseFile = directory.getCanonicalPath();
17  } catch (IOException e) {
18     e.printStackTrace();
19  }
20  // 结果: /Users/admin/Documents/IdeaProjects/Demo
21  System.out.println(courseFile);
22 
23  // 第三种:获取项目名
24  // 结果: /Users/admin/Documents/IdeaProjects/Demo
25  System.out.println(System.getProperty("user.dir"));
26 
27  // 第四种:获取项目中src目录下的一级文件路径
28  URL path = this.getClass().getClassLoader().getResource("test.txt");
29  System.out.println(path.getPath());