Intellij Idea Javaweb 目录结构及获取项目内资源

image.png

获取项目内资源文件

getResource(""); 返回的是URL对象,路径是当前Class这个类所在包的位置
getResource("/"); 返回的是URL对象,返回classpath路径

下例: 其中 Project为工程名

Project

  • src

    • action
    • test
      • demo.txt
      • FilePathTest.java
  • production

    • Project
      • src
        • action
        • test
          • demo.txt
          • FilePathTest.class

通过ClassFilePathTest.java中获取资源:

this.getClass().getResource("/").getPath();  
//   .../production/Project/

this.getClass().getResource("").getPath;
//  ../production/Project/src/test/

this.getClass().getResource("demo.txt").getPath(); 
 // 获取当前class文件所在目录test下的 demo.txt 文件

this.getClass().getResource("/demo.txt").getPath(); 
// 获取classpath 下的 demo.txt, 即 查找../production/Project 下是否有 demo.txt 

通过ClassLoader获取资源

this.getClass().getClassLoader().getResource("").getPath());  
// 获取classpath, ../production/Project
this.getClass().getClassLoader().getResource("/").getPath());
// 报错
  
this.getClass().getClassLoader().getResource("/demo.txt").getPath(); 
//  .../production/Project/src/test/demo.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见...
    时待吾阅读 4,753评论 0 1
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,117评论 6 342
  • 天气好热,你的爱也好热,我恨不得脱光自己和你在此床上汗水淋漓。 这些天都不知道自己怎么过的,没有工作让我心烦意乱,...
    _你的猫阅读 1,001评论 0 0
  • 查看当前所有的KEY KEYS *KEYS zhang* #查看前缀为zhang的所有键; 查看当前redis...
    Zhang21阅读 13,522评论 0 3