博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java读取src下配置文件的问题
阅读量:4156 次
发布时间:2019-05-25

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

博客原文:

读取配置文件的几种方式:

(1)通过当前类获得根目录的路径然后获取文件。可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息。

 缺点:只能加载类src下面的资源文件,不适合装载大文件,否则会导致jvm内存溢出

InputStream fstream = this.getClass().getClassLoader().getResourceAsStream("config.properties");//直接类调用TestController为当前类  “/”代表src目录下,不加则为该controller同包下InputStream is = TestController.class.getResourceAsStream("/config.properties");

(2)可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。

缺点:该方式只能加载类src下面的资源文件且只能读取.properties文件。

// 获得资源包  ResourceBundle rb = ResourceBundle.getBundle("config.properties");

(3)使用Spring框架提供的PropertiesLoaderUtils 获取,直接通过基于类路径的文件地址加载属性资源。

Properties props=PropertiesLoaderUtils.loadAllProperties("config.properties");

获取配置文件后,通过key取值

InputStream is = ReadProperties.class.getResourceAsStream("/config.properties");				Properties prop = new Properties();		prop .load(is);		is.close();		String name= prop .getProperty("name");		/*		 * 输出結果为:zjblog		 */		System.out.println(name);

获取配置文件并遍历取出所有值,完整代码:

src下config.properties文件

public static void main(String[] args) {        try {            Properties prop = new Properties();            InputStream in = InfoController.class.getResourceAsStream("/config.properties");            prop.load(in);            //获取所有key 遍历取值            Set objects = prop.keySet();            for (Object object : objects) {                // 注意编码格式,不然会乱码                String val = new String(prop.getProperty((String)object).getBytes("ISO-8859-1"), "utf-8");                System.out.println(val);            }            in.close();        } catch (IOException e) {            e.printStackTrace();        }    }

运行结果

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

你可能感兴趣的文章
java多线程环境单例模式实现详解
查看>>
将一个数插入到有序的数列中,插入后的数列仍然有序
查看>>
在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found
查看>>
阿里p8程序员四年提交6000次代码的确有功,但一次错误让人唏嘘!
查看>>
一道技术问题引起的遐想,最后得出结论技术的本质是多么的朴实!
查看>>
985硕士:非科班自学编程感觉还不如培训班出来的,硕士白读了?
查看>>
你准备写代码到多少岁?程序员们是这么回答的!
查看>>
码农:和产品对一天需求,产品经理的需求是对完了,可我代码呢?
查看>>
程序员过年回家该怎么给亲戚朋友解释自己的职业?
查看>>
技术架构师的日常工作是什么?网友:搭框架,写公共方法?
查看>>
第四章 微信飞机大战
查看>>
九度:题目1008:最短路径问题
查看>>
九度Online Judge
查看>>
九度:题目1027:欧拉回路
查看>>
九度:题目1012:畅通工程
查看>>
九度:题目1017:还是畅通工程
查看>>
九度:题目1034:寻找大富翁
查看>>
第六章 背包问题——01背包
查看>>
51nod 分类
查看>>
1136 . 欧拉函数
查看>>