Java Properties集合基础解析
Java Properties集合基础解析
本期学习的properties集合是项目中经常用到的操作
什么是Properties集合?
java.util.Properties集合继承于Hashtable,来表示一个持久的属性集,他使用键值结构存储数据,每个键及其对应的值都是一个字符串,该类被许多java类使用,比如获取系统属性时,System.getProperties,方法就是返回一个Properties对象
properties集合是唯一一个与IO流相结合的集合 可以使用Properties集合中的方法store把集合中的数据持久化 可以使用Properties集合中的load方法,把硬盘中保存的文件(键值对)存储到集合中使用,这在项目中 用于读取配置文件经常使用到
属性表中每个键及其对应值都是一个字符串 Properties集合是一个双列集合(双列集合是每个元素由键和值两部分组成,由键可以找到值,键必须是唯一的,值可以重复)
构造方法
public properties() 创建一个空的属性列表
基本的存储方法: public Object setProperty(String key,String value) :保存一对属性 public String setProperties(String key) :使用此属性列表中指定的键搜索属性值 public Set stringPropertNames() 获取所有名称的集合
public class Main {
public static void main(String[] args) {
Properties properties = new Properties();
//存入键值对
properties.setProperty("one","1");
properties.setProperty("two","2");
//拿出所有键
Set<String> strings = properties.stringPropertyNames();
//遍历键
for (String string : strings) {
//通过键获取值
String property = properties.getProperty(string);
//输出
System.out.println(string+":"+property);
}
}
}
结果
与流相关的方法
store ( OutputStream out, String comments)
store ( OutputStream out, String comments) : 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
参数中使用了字节输入流,通过流对象,可以关联到某文件上,这样就可以能够加载文本中的数据了,文本数据格式:
public class Main {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
//存入键值对
properties.setProperty("one","1");
properties.setProperty("two","2");
//加载文本中信息到属性集
properties.store(new FileWriter("c.text"),"savedate");
//拿出所有键
Set<String> strings = properties.stringPropertyNames();
}
}
结果
public void load(InputStream inStream)
public void load(InputStream inStream) : 从字节输入流中读取键值对。
注意: 1.存储键值对的文件中,键与值默认的链接符号可以使用=,空格等其他符号 2.存储键值对的文件中,可以使用“#”进行注释,被注释的键值对默认不会被读取 3.存储键值对的文件中,键与值都是字符串,不要加引号
public class Main {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.load(new FileReader("c.text"));
//拿出所有键
Set<String> strings = properties.stringPropertyNames();
for (String string : strings) {
System.out.println(string+":"+properties.getProperty(string));
}
}
}
结果
以上就是Properties集合的一些基础知识,如有错误请各位批评指正,喜欢我的文章可以点赞收藏,我会不定期更新文章,各位道友也可以关注我
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- three.js UV映射简述
- three.js 数学方法之Matrix4
- three.js 利用uv和ThreeBSP制作一个快递柜
- three.js 欧拉角和四元数
- three.js 制作逻辑转体游戏(上)
- three.js 制作魔方
- 安卓日常开发和逆向中常用的shell命令与非shell命令
- 使用python生成Latex公式语法
- 设计模式~桥梁模式
- 设计模式~模板方法模式
- three.js 郭先生制作太阳系
- 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——设备录像回看说明
- 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——报警模块说明
- three.js 制作一个三维的推箱子游戏
- IP摄像头RTSP协议网页无插件直播视频平台EasyNVR如何在直播或录像中添加定制化音频?