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 Properties集合基础解析的更多相关文章
- Java File类基础解析 1
Java File类基础解析 1 File类的构造方法 public File(String pathname) :通过给定的路径名字符转换为抽象路径名来创建新的File实例 String path ...
- JAVA ArrayList集合基础
java集合的使用方法 一,集合ArrayList的定义方式 ArrayLsit<数据类型> 变量名=new ArrayList<数据类型>(); 二,集合的操作和概念 ...
- 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类
---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...
- java基础-IO流对象之Properties集合
java基础-IO流对象之Properties集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Properties集合的特点 Properties类表示了一个持久的属性集. ...
- java基础知识回顾之java集合类-Properties集合
/** java.lang.Object |--java.util.Dictionary<K,V> |--java.util.Hashtable<Object,Obje ...
- -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器
集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别? A:长度区别 ...
- java基础解析系列(八)---fail-fast机制及CopyOnWriteArrayList的原理
fail-fast机制及CopyOnWriteArrayList的原理 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列( ...
- java基础解析系列(十)---ArrayList和LinkedList源码及使用分析
java基础解析系列(十)---ArrayList和LinkedList源码及使用分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder jav ...
- java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现
java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析 ...
随机推荐
- 重识Java8函数式编程
前言 最近真的是太忙忙忙忙忙了,很久没有更新文章了.最近工作中看到了几段关于函数式编程的代码,但是有点费解,于是就准备总结一下函数式编程.很多东西很简单,但是如果不总结,可能会被它的各种变体所困扰.接 ...
- 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能
点击删除的时候,要删除联系人,这里同点击编辑按钮一样给删除按钮添加点击事件的时候不能使用 $(".delete_btn").click(function(){ }); 这种方式,因 ...
- Python3-queue模块-同步队列
Python3中的queue模块实现多生产者,多消费者队列,特别适用于多个线程间的信息的安全交换,主要有三个类 queue.Queue(maxsize=0) 构造一个FIFO(先进先出)的队列 que ...
- Json序列化帮助类
public static class Json { public static object ToJson(this string Json) { return Json == null ? nul ...
- [javascript]js原型链以及原型链继承
基础的三个要素: 函数 ,函数实例,实例原型. 实例原型相当于 父类, 函数相当于构造函数 举例: class Fn extends Fn.prototype{ } 实例: let f = new F ...
- 【部分】ASP.NET MVC5 - 地址栏传参两种方法
地址栏传参两种方法 1- Home/Index/88 (后台控制器读取需要一样的参数名称) 2- Home/Index?id1=88?id2=99 (Request三种接受方法) ...
- 第一步:安装centos_8
关于centos的安装其实大部分时候都是在虚拟机环境下安装. 好处无疑有这几个:方便,快速,主要就是整出事情了我可以直接删了重装 我这边是在vmware下进行一个安装 vmware我这边给出下载链接: ...
- UID,GID,口令
摘自:http://cn.linux.vbird.org/linux_basic/0410accountmanager_1.php (完)
- HotSpot的启动过程
HotSpot通常会通过java.exe或javaw.exe来调用/jdk/src/share/bin/main.c文件中的main()函数来启动虚拟机,使用Eclipse进行调试时,也会调用到这个入 ...
- JAVA基础笔记10-11-12-13-14
十.今日内容介绍 1.继承 2.抽象类 3.综合案例---员工类系列定义 01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在J ...