Java Properties集合代码详解
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Properties集合代码详解相关的知识,希望对你有一定的参考价值。
文章目录
Properties集合
1. Properties简介
Properties是一个Map体系的集合类,Properties可以保存到流中或从流中加载,属性列表中的每个键及其对应的值都是一个字符串。
2. Properties作为Map集合的使用
注意:创建集合对象时候不能设置泛型参数。
// 创建集合对象
Properties<String,String> prop1 = new Properties<String,String>(); //错误
Properties基本使用代码
代码如下:
public class PropertiesDemo1
public static void main(String[] args)
// 创建集合对象
// Properties<String,String> prop1 = new Properties<String,String>(); //错误
Properties prop = new Properties();
// 增
prop.put("小龙女", "马克龙");
prop.put("郭襄", "杨过");
prop.put("黄蓉", "欧阳锋");
System.out.println(prop);
//删
prop.remove("郭襄");
System.out.println(prop);
//改
//put --- 如果键不存在,那么就添加,如果键存在,那么就覆盖.
prop.put("小龙女", "杨过");
System.out.println(prop);
//查
Object value = prop.get("黄蓉");
System.out.println(value);
//遍历
Set<Object> keys = prop.keySet();
for (Object key : keys)
Object value1 = prop.get(key);
System.out.println(key + "=" + value1);
System.out.println("========================");
//装的是所有的键值对对象.
Set<Map.Entry<Object, Object>> entries = prop.entrySet();
for (Map.Entry<Object, Object> entry : entries)
Object key = entry.getKey();
Object value2 = entry.getValue();
System.out.println(key + "=" + value2);
运行结果如下:
3. Properties作为Map集合的特有方法【应用】
特有方法
方法名 | 说明 |
---|---|
Object setProperty(String key, String value) | 设置集合的键和值,都是String类型,底层调用 Hashtable方法 put |
String getProperty(String key) | 使用此属性列表中指定的键搜索属性 |
Set stringPropertyNames() | 从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串 |
代码如下:
public class PropertiesDemo2
public static void main(String[] args)
//Object setProperty(String key, String value) --- put
//设置集合的键和值,都是String类型,底层调用 Hashtable方法 put
Properties prop = new Properties();
prop.setProperty("涛哥","萌萌");
prop.setProperty("波哥","思思");
prop.setProperty("杨大佬","哈哈哈");
System.out.println(prop);
//String getProperty(String key) --- get
//使用此属性列表中指定的键搜索属性
String value1 = prop.getProperty("杨大佬");
System.out.println(value1);
//Set<String> stringPropertyNames() --- keySet
//从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串
Set<String> keys = prop.stringPropertyNames();
for (String key : keys)
String value = prop.getProperty(key);
System.out.println(key + "=" + value);
运行结果如下:
4. Properties和IO流相结合的方法
和IO流结合的方法
方法名 | 说明 |
---|---|
void load(Reader reader) | 从输入字符流读取属性列表(键和元素对) |
void store(Writer writer, String comments) | 将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流 |
代码如下:
public class PropertiesDemo3
public static void main(String[] args) throws IOException
//void load(Reader reader) 将本地文件中的键值对数据读取到集合中
//void store(Writer writer, String comments) 将集合中的数据以键值对形式保存在本地
//读取
Properties prop = new Properties();
FileReader fr = new FileReader("prop.properties");
//调用完了load方法之后,文件中的键值对数据已经在集合中了.
prop.load(fr);
fr.close();
System.out.println(prop);
乱码了,没设置好
以上是关于Java Properties集合代码详解的主要内容,如果未能解决你的问题,请参考以下文章
JAVA IO流相关代码(Properties类的常见方法与应用)