博客
关于我
加载配置文件
阅读量:613 次
发布时间:2019-03-13

本文共 896 字,大约阅读时间需要 2 分钟。

配置文件加载方法

通常在工具类中需要加载配置文件,比如数据库连接池、Redis之类的,配置文件当然是.properties文件。

已知获取资源文件的方法有getResource,不过很多时候不能直接getResource加载,会报错,找不到文件。
常用格式为class.getClassLoader().getResource(filename)加载文件。

那么在这里使用了类加载器之后又有什么不同呢?

仅从使用表现来看:

class.getClass().getClassLoader().getResource(fileName):表示只会在根目录下(/)查找该文件
class.getClass().getResource(fileName) :表示只会在当前调用类所在的同一路径下查找该fileName文件,当然这里如果filename以/开头,则也会以项目根路径查找
由于在项目中,资源文件通常放在Resource文件夹,所以我们一般都是使用了类加载器的。

那么问题来了,我在getClassLoader().getResource(fileName)这里加个/来表示根路径呢?

emmm当然不行,在这里不支持参数加/,默认就是根路径,因为它是基于类加载器classloader的,而类加载器的工作是加载ClassPath上的类的,是以根目录为基础的。

说了这么多,还没说完整加载资源文件的路径

//输入流读取配置文件        InputStream is = JedisPool.class.getClassLoader().getResourceAsStream("filename");        //创建Properties对象        Properties pro = new Properties();        //关联文件        try {            pro.load(is);        } catch (IOException e) {            e.printStackTrace();        }

转载地址:http://atoaz.baihongyu.com/

你可能感兴趣的文章
CentOS系列:【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细)
查看>>
CSDN----Markdown编辑器
查看>>
Docker容器进入的4种方式(推荐最后一种)
查看>>
Docker部署postgresql-11以及主从配置
查看>>
EnvironmentNotWritableError: The current user does not have write permissions to the target environm
查看>>
Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)
查看>>
Hyper-V系列:windows11开启系统自带安卓虚拟机并安装apk包
查看>>
Hyper-V系列:微软官方文章
查看>>
idea打war包的两种方式
查看>>
Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程
查看>>
JS系列(仅供参考):【浏览器编程】浏览器F12调试工具面板详解和JavaScript添加断点
查看>>
Kali 更换源(超详细,附国内优质镜像源地址)
查看>>
kali安装docker(亲测有效)
查看>>
Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置
查看>>
Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式
查看>>
mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法
查看>>
Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案
查看>>
Nmap渗透测试指南之探索网络
查看>>
Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集
查看>>
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务、snmp服务
查看>>