1.获取当前类的工程路径
创建file 来获取路径
public static void main(String[] args) {
File file = new File("");
String rootPath = null;
try {
rootPath = file.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
// 当前类的工程路径
System.out.println(rootPath);
}
2. 类的文件路径
加 斜杠 '/' 获取项目指构建后的classes路径
public static void main(String[] args) {
// 获取指定类的绝对路径
File file = new File(Autowired.class.getResource("").getPath());
System.out.println(file.getPath());
// 加 斜杠 '/' 获取项目指构建后的classes路径
File targetFile = new File(Autowired.class.getResource("/").getPath());
System.out.println(targetFile.getPath());
}
3.获取resources目录下文件的路径
个人猜测 根据类的位置来获取地址,归根到底还是创建file的原因,未研究
public static void main(String[] args) {
// 获取项目resources的文件路径 \ 分割层级
File file = new File(Autowired.class.getResource("/"+"resources下的文件地址").getPath());
System.out.println(file.getPath());
// 获取项目resources的文件路径 / 分割层级
final String path = Autowired.class.getClassLoader().getResource("resources下的文件地址").getPath();
System.out.println(path);
}
注意:以上经过测试均可操作,
如没有引用Autowired,可以替换成String等存在的类,均可
--- 努力吧骚年