将属性存储到文本文件时,文本文件中属性的写入顺序与代码执行的顺序相反
when storing properties into a text file, written order of properties in text file is in the reverse order of code execution
我是 Java 的新手,正在尝试学习 class 属性。我想出了下面的代码。但是,当我 运行 代码时,我注意到 random.txt 中存储的三个属性的顺序与代码执行相反。为什么会这样?有人可以启发我吗?在此先感谢您的帮助!
Properties p1 = new Properties();
try (OutputStream os1 = new FileOutputStream("random.txt")){
p1.setProperty("1", "one");
p1.setProperty("2", "two");
p1.setProperty("3", "three");
p1.store(os1, "comment");
} catch(IOException e){
e.printStackTrace();
}
Properties
class 用于维护值列表,其中键是字符串,值也是字符串。
Properties
class 扩展了 Hashtable
class。
并且基于散列的集合的迭代顺序在 JDK 中未定义。
但是,您可以通过创建自己的属性子 class 并覆盖 put()
和 setProperty()
方法,以原始顺序从属性文件中提取值。
请注意 Properties
与(扩展)Hashtable
一起使用。
地图本质上是 "unordered"。
如果您想了解更多信息并真正存储有序数据,请查看此linkHow can I write Java Properties in a defined order。这个问题之前已经回答过:)
你能不能在每个setProperty之后调用store,就像上面说的,store使用的数据类型可能是LIFO(后进先出),因此最后设置的是最先保存的。
尝试在每组结束后致电商店 属性!
我是 Java 的新手,正在尝试学习 class 属性。我想出了下面的代码。但是,当我 运行 代码时,我注意到 random.txt 中存储的三个属性的顺序与代码执行相反。为什么会这样?有人可以启发我吗?在此先感谢您的帮助!
Properties p1 = new Properties();
try (OutputStream os1 = new FileOutputStream("random.txt")){
p1.setProperty("1", "one");
p1.setProperty("2", "two");
p1.setProperty("3", "three");
p1.store(os1, "comment");
} catch(IOException e){
e.printStackTrace();
}
Properties
class 用于维护值列表,其中键是字符串,值也是字符串。
Properties
class 扩展了 Hashtable
class。
并且基于散列的集合的迭代顺序在 JDK 中未定义。
但是,您可以通过创建自己的属性子 class 并覆盖 put()
和 setProperty()
方法,以原始顺序从属性文件中提取值。
请注意 Properties
与(扩展)Hashtable
一起使用。
地图本质上是 "unordered"。
如果您想了解更多信息并真正存储有序数据,请查看此linkHow can I write Java Properties in a defined order。这个问题之前已经回答过:)
你能不能在每个setProperty之后调用store,就像上面说的,store使用的数据类型可能是LIFO(后进先出),因此最后设置的是最先保存的。
尝试在每组结束后致电商店 属性!