参考链接
https://blog.csdn.net/weixin_34452086/article/details/114751474?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-114751474-blog-119989438.235%5Ev28%5Epc_relevant_t0_download&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-114751474-blog-119989438.235%5Ev28%5Epc_relevant_t0_download&utm_relevant_index=6
一.不能在静态类中使用
URL base = this.getClass().getResource("");
String path = new File(base.getFile(), "../../").getCanonicalPath();
二.推荐使用
URL baseClassPath = Thread.currentThread().getContextClassLoader().getResource("");
String filePath = new File(baseClassPath.getFile()).getCanonicalPath();
三.
Test.class.getClassLoader().getResource("");
四.
ClassLoader.getSystemResource("");
五.Web项目通过Servlet获取
String path = request.getSession().getServletContext().getRealPath("/");