java的Properties类继承自HashTable。HashTable都很熟悉,这是一个存放键值对,基于hash表存储的,所以说顺序也是不固定的。因此只要使用java自带的Properties工具类读写properties文件的都是顺序不可预知的。如果想实现有顺序的方式可以自定义一个类,使用LinkedHashMap做为父类来实现,这样效率就没那么高了。
使用有顺序的键值对的方式存储数据推荐使用jdk中提供的LinkedHashMap。这个工具类是基于链表的形式存储键值对数据。存放的数据和获取的顺序都是一致的。
把所有的properties读取到一个LinkedHashSet,然后在里面操作,完了再写回去 ,虽然繁琐了一点
别用自带的properties操作。。。使用文件操作,或者自己写个类,继承properties。。。不过会麻烦点。
自带的property是用的hashtable
使用 jodd Props类
http://jodd.org/doc/props.html