11 Properties
Map集合体系
Properties属性集对象
● 其实就是一个Map集合,但是我们一般不会当集合使用,因为HashMap更好用。
Properties核心作用
● Properties代表的是一个属性文件,可以把自己对象中的键值对信息存入到一个属性文件中去。
● 属性文件,后缀是 .properties 结尾的文件,里面的内容都是key=value,后续做系统配置的信息的。
Properties的API:
● Properties和IO流结合的方法
构造器 |
说明 |
void load(InputStream inStream) |
从输入字节流读取属性列表(键和元素对) |
void load(Reader reader) |
从输入字符流读取属性列表(键和元素对) |
void store(OutputStream out, String comments) |
将此属性列表(键和元素对)写入此 Properties表中,以适合于使用 load(InputStream)方法的格式写入输出字节流 |
void store(Writer writer, String comments) |
将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流 |
public Object setProperty(String key, String value) |
保存键值对(put) |
public String getProperty(String key) |
使用此属性列表中指定的键搜索属性值 (get) |
public Set<String> stringPropertyNames() |
所有键的名称的集合 (keySet()) |
【示例】
/**
目标:Properties的概述和使用(框架底层使用,了解这个技术即可)(保存数据到属性文件)
小结:
Properties可以保存键值对数据到属性文件
*/
public class PropertiesDemo01 {
public static void main(String[] args) throws Exception {
// 需求:使用Properties把键值对信息存入到属性文件中去。
Properties properties = new Properties();
properties.setProperty("admin", "123456");
properties.setProperty("dlei", "003197");
properties.setProperty("heima", "itcast");
System.out.println(properties);
/**
参数一:保存管道 字符输出流管道
参数二:保存心得
*/
properties.store(new FileWriter("io-app2/src/users.properties")
, "this is users!! i am very happy! give me 100!");
}
}
运行结果:
{admin=123456, dlei=003197, heima=itcast}
查看新生成的 users.properties 文件
#this is users!! i am very happy! give me 100!
#Mon Jan 03 14:13:59 CST 2022
admin=123456
dlei=003197
heima=itcast
【示例2】
/**
目标:Properties读取属性文件中的键值对信息。(读取)
小结:
属性集对象可以加载读取属性文件中的数据!!
*/
public class PropertiesDemo02 {
public static void main(String[] args) throws Exception {
// 需求:Properties读取属性文件中的键值对信息。(读取)
Properties properties = new Properties();
System.out.println(properties);
// 加载属性文件中的键值对数据到属性对象properties中去
properties.load(new FileReader("io-app2/src/users.properties"));
System.out.println(properties);
String rs = properties.getProperty("dlei");
System.out.println(rs);
String rs1 = properties.getProperty("admin");
System.out.println(rs1);
}
}
运行结果:
{}
{admin=123456, dlei=003197, heima=itcast}
003197
123456
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码