作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者
前言
在前面的几篇文章中,壹哥给大家讲解了Java里的List、Set和Map等集合。所以现在我们知道,Map集合作为一个双列集合,有key和value两个值,这两个值共同组成了key-value键值对的映射关系。而正是这种映射关系,使得Map集合可以解决我们在开发是遇到的配置文件问题。
所谓的配置文件问题,是指我们在开发时,经常需要读取和修改一些配置信息,比如数据库、消息队列、Nginx、Web服务器等的配置。这些配置信息在测试环境、开发环境和线上环境里的值是不同的,我们经常需要在几种环境中反复地修改配置信息。为了便于修改这些信息,我们可以采用Map集合来对这些信息进行封装和操作,尤其是给我们提供了一个Properties配置类,更是方便了我们的操作。那么今天,壹哥就给大家讲一下Properties配置类是怎么回事,以及怎么使用。
-------------------------------------------------前戏已做完,精彩即开始-----------------------------------------------
全文大约【3600】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图视频,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
配套开源项目资料
Github:
GitHub - SunLtd/LearnJava
Gitee:
从零开始学Java: 从零开始学Java系列稀土掘金专栏地址:https://juejin.cn/column/7175082165548351546CSDN专栏地址:https://yiyige.blog.csdn.net/article/details/129377219?spm=1001.2014.3001.5502
一. Properties简介
1. 概述
在Java开发中,我们经常需要读取和写入配置文件,用来存储程序中的一些配置信息,例如数据库的连接信息、邮件和Web服务器的信息、消息队列的信息等等。配置文件一般都是key-value形式,且它的key-value一般都是String-String类型的,因此我们完全可以用Map<String, String>来表示它。
但因为配置文件特别常用,所以Java集合库给我们提供了一个Properties类来表示一组“配置”,专门用来处理key-value形式的配置信息。Properties类可以表示一个持久的属性集,每个键及其对应的值都是字符串类型,它可以把配置信息保存在一个IO流中,或是从一个IO流中加载配置信息,因此很适合用来处理配置文件。
Properties的内部本质上是一个Hashtable,该类从Hashtable中继承了get()和put()方法,这些方法的参数签名是Object。但由于历史遗留原因,Properties的设计实际上是有问题的,不过为了保持兼容性,现在已经没法修改了。所以我们在使用Properties时,不要去调用这些从Hashtable继承来的方法,而应该使用Properties自身关于读写配置的方法,比如getProperty()和setProperty()等方法。
2. 配置文件
既然今天我们想利用Properties类来对配置文件进行读取,所以首先我们得认识一下什么是配置文件。在Java中,配置文件其实有多种格式,可以是 .txt、.xml、.properties、.yml、.json等格式,今天壹哥要给大家介绍的就是基于.properties格式的配置文件。
在Java中,其实默认的配置文件就是以.properties为扩展名的,该文件中的每行信息都是以key=value表示的,并用#进行注释。以下是一个典型的配置文件:
# db.properties#数据库的url
jdbc.url=jdbc:mysql://localhost:3306/mydb
#用户名
jdbc.username=root
#密码
jdbc.password=root
我们可以在eclipse等IDE工具中直接创建.properties文件,然后把上面的这些配置信息复制进去即可。
3. 常用方法
我们在使用Properties类读写配置文件时&