Properties是Java集合框架中的一种特殊的Map实现类,它用于处理键值对的配置文件。下面是Properties的特点和使用方法的概述,以及附上示例代码和说明。
一、特点:
1. Properties继承自Hashtable类,因此它是基于哈希表实现的。
2. Properties中的键和值都是字符串类型。
3. Properties通常用于读取和写入配置文件,例如.properties文件。
二、使用方法:
1. 创建Properties对象:
可以使用无参构造方法创建一个空的Properties对象,或者使用带有初始属性的构造方法创建一个具有初始属性的Properties对象。
2. 添加属性:
使用setProperty(key, value)方法或put(key, value)方法向Properties对象中添加属性。
3. 获取属性:
使用getProperty(key)方法根据键获取对应的属性值,如果键不存在则返回null。
4. 遍历属性:
可以使用entrySet()方法获取属性的键值对集合,然后使用foreach循环或迭代器遍历集合中的属性。
5. 加载和保存属性:
可以使用load(inputStream)方法从输入流中加载属性,使用store(outputStream, comments)方法将属性保存到输出流。
下面是一个示例代码,展示了如何使用Properties:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;public class PropertiesExample {public static void main(String[] args) {// 创建Properties对象Properties properties = new Properties();try {// 加载属性文件FileInputStream fis = new FileInputStream("config.properties");properties.load(fis);fis.close();// 输出原属性System.out.println("原属性:");printProperties(properties);// 添加和修改属性properties.setProperty("database", "mysql");properties.setProperty("port", "3306");// 输出修改后的属性System.out.println("\n修改后的属性:");printProperties(properties);// 保存属性文件FileOutputStream fos = new FileOutputStream("config.properties");properties.store(fos, "Updated properties");fos.close();} catch (IOException e) {e.printStackTrace();}}// 打印属性public static void printProperties(Properties properties) {for (var entry : properties.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());}}
}
在上述示例中,首先创建了一个Properties对象,并使用load方法从配置文件"config.properties"中加载属性。然后使用setProperty方法添加和修改属性,使用store方法将属性保存回配置文件。最后通过printProperties方法打印原属性和修改后的属性。
需要注意,为了运行该示例代码,需要创建一个名为"config.properties"的配置文件,并在其中添加一些初始属性。
(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)