java 有顺序写入读取Properties配置文件
来源:互联网 发布:qq三国120js最强红武器 编辑:程序博客网 时间:2024/06/04 19:23
Java 的 Properties 加载属性文件后是无法保证输出的顺序与文件中一致的,因为 Properties 是继承自 hashtable 的, key/value 都是直接存在 Hashtable 中的,而 Hashtable 是不保证进出顺序的。 总有时候会有关心顺序一致的需求,恰如有 org.apache.commons.collections.OrderdMap(其实用 LinkedHashMap 就是保证顺序) 一样,下面就是写一个 OrderedProperties,只要继承自 Properties,覆盖原来的 put/keys,keySet,stringPropertyNames 即可,其中用一个 LinkedHashSet 来保存它的所有 key
下面是完整代码:
package com.gzu.application;import java.util.Collections;import java.util.Enumeration;import java.util.LinkedHashSet;import java.util.Properties;import java.util.Set;/** * 用于指定properites文件的存储顺序和输入顺序一样,使得顺序不发生改变 * OrderedProperties * @author wxq * @date 2016-09-26 */public class OrderedProperties extends Properties { private static final long serialVersionUID = -4627607243846121965L; private final LinkedHashSet<Object> keys = new LinkedHashSet<Object>(); public Enumeration<Object> keys() { return Collections.<Object> enumeration(keys); } public Object put(Object key, Object value) { keys.add(key); return super.put(key, value); } public Set<Object> keySet() { return keys; } public Set<String> stringPropertyNames() { Set<String> set = new LinkedHashSet<String>(); for (Object key : this.keys) { set.add((String) key); } return set; }}
0 0
- java 有顺序写入读取Properties配置文件
- java Properties配置文件写入与读取
- properties 读取和写入配置文件
- Properties配置文件读取/写入例子
- Java配置文件Properties的读取、写入与更新操作
- 对Java配置文件Properties的读取、写入与更新操作
- Java配置文件Properties的读取、写入与更新操作
- 对Java配置文件Properties的读取、写入与更新操作
- 【Java编程】写入、读取、遍历配置文件 Properties类
- Java配置文件Properties的读取、写入与更新操作
- Java配置文件Properties的读取、写入与更新操作
- Java配置文件Properties的读取、写入与更新操作
- Java配置文件Properties的读取、写入与更新操作
- java 读取properties配置文件
- Java读取properties配置文件
- java读取properties配置文件
- java 读取配置文件properties
- java 读取*.properties配置文件
- perl学习笔记-----------------------(1)
- 2016.09.26回顾
- 安卓多选日期日历控件
- 【神经网络与深度学习】如何在Caffe中配置每一个层的结构
- 爆炸!iOS资源大礼包(持续更新...)
- java 有顺序写入读取Properties配置文件
- 第53课: Spark大型项目广告点击项目技术骨架实现之Spark+Kafka+Flume实战
- mysql编码设置utf8
- 迭代器
- QThread
- javascript中escape()、unescape()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()比较
- MFC工程中增加注册类名
- roslaunch + gdb debug
- 枚举类型的使用