1.场景
比如上传图片或者读取项目里的excel文件内容等,都需要准确获取文件路径
2.说明
项目代码大致样式
获取路径说明
所谓获取的相对路径,其实是获取项目打包后的target目录的路径,而不是咱们平常看到的代码路径,具体可查看下方图片
3.举例说明网上常见几种方法的路径获取结果
- request.getServletContext().getRealPath(“”)
- request.getServletContext().getRealPath(“/”)
- OperateExcelController.class.getResource(“”).getPath()
- OperateExcelController.class.getResource(“/”).getPath()
- OperateExcelController.class.getClassLoader().getResource(“static/尼克.jpg”).getPath()
- ResourceUtils.getURL(“classpath:”).getPath()
其中OperateExcelController为所在的类,ResourceUtils引入的是package org.springframework.util;
详情说明:
方法1、2的request.getServletContext().getRealPath(“”)和 request.getServletContext().getRealPath(“/”)
获得的路径不是项目路径,而是c盘下一个tomcat目录路径)
结果比如:C:\Users\211145187\AppData\Local\Temp\tomcat-docbase.8888.12632778012386910853\
方法3、4、5、6的OperateExcelController.class.getResource(“”).getPath()和OperateExcelController.class.getResource(“/”).getPath()和OperateExcelController.class.getClassLoader().getResource(“”).getPath()和ResourceUtils.getURL(“classpath:”).getPath()
实际获取的都是编译包里的根据经 比如:xx.class.getResource(“”).getPath()=xx.class.getResource(“/”).getPath()=xx.class.getClassLoader().getResource(“”).getPath()=ResourceUtils.getURL(“classpath:”).getPath()
结果比如:/E:/WorkSpace/demo/target/classes/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106225.html