侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

读取classpath里的配置文件

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 169 阅读 / 267 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
//cfg 可以是一个随便什么实例化的东西.要不然有可能返回空
URL resource = cfg.getClass().getClassLoader().getResource("htmlTemplate/file.html");
if (null == resource) return;
String path = URLDecoder.decode(resource.getPath(), "UTF-8");
// 如果运行在windows上,获取到的path会变成"/E:/Convert...",直接使用的话会报错(会提示:the char ':' is illegal),需要处理一下
path = jsonPath.contains(":") ? jsonPath.substring(1) : jsonPath

1 InputStream in = this.getClass().getResourceAsStream("/properties/basecom.properties");
2 Properties properties = new Properties();
3 properties.load(in);
4 properties.getProperty("property_name");
获取URL
1.
class.getResource()
2.
classLoader.getResource()

获取classLoader
class.getClassLoader()

获取class
1.
实例化的类.getClass()
2.
Object.class

需要注意的是
class.getClassLoader().getResource()
class.getResource()
这里使用的是类加载器的
getResource()
方法。
具体的区别就是:
class.getClassLoader().getResource()
直接从resources目录下找,用的是相对路径,文件名(参数)前面不用加
/
class.getResource()
是以resources为根目录的绝对路径,文件名(参数)前面需要加
/
0

评论区