本文共 896 字,大约阅读时间需要 2 分钟。
通常在工具类中需要加载配置文件,比如数据库连接池、Redis之类的,配置文件当然是.properties文件。
已知获取资源文件的方法有getResource,不过很多时候不能直接getResource加载,会报错,找不到文件。常用格式为class.getClassLoader().getResource(filename)加载文件。仅从使用表现来看:
class.getClass().getClassLoader().getResource(fileName):表示只会在根目录下(/)查找该文件class.getClass().getResource(fileName) :表示只会在当前调用类所在的同一路径下查找该fileName文件,当然这里如果filename以/开头,则也会以项目根路径查找由于在项目中,资源文件通常放在Resource文件夹,所以我们一般都是使用了类加载器的。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/