Java 如何以正确的顺序从属性文件中获取包含所有键的数组?

Java 如何以正确的顺序从属性文件中获取包含所有键的数组?,java,properties,Java,Properties,我有以下.properties文件: 0.0=值1 2.3=值2 2.45=值3 2.65=值4 2.71=值5 2.87=值6 3.66=值7 我想从这个文件中获取一个包含键的数组,它包含以下内容: [0.0, 2.3, 2.45, 2.65, 2.71, 2.87, 3.66] 我试过这个: Properties prop = new Properties(); FileInputStream myInputStream; myInputStream = new FileInputStre

我有以下.properties文件:

0.0=值1

2.3=值2

2.45=值3

2.65=值4

2.71=值5

2.87=值6

3.66=值7

我想从这个文件中获取一个包含键的数组,它包含以下内容:

[0.0, 2.3, 2.45, 2.65, 2.71, 2.87, 3.66]
我试过这个:

Properties prop = new Properties();
FileInputStream myInputStream;
myInputStream = new FileInputStream("./test.properties");
prop.load(myInputStream);
myInputStream.close();
Set set = prop.keySet();
Object vetKey[] = set.toArray();
但我的集合不包含文件中显示顺序的键

我不知道原因,它们看起来是这样的:

[2.71,3.66,2.45,2.3,0.0,2.65,2.87]


如何获得具有正确键序列的数组?就像它们在.properties:?

数组.sort()中一样
Collections.sort()
Arrays.sort()
Collections.sort()

您是否尝试过使用prop.keys()而不是prop.keySet()?希望它们按它们在属性文件中出现的顺序出现与按排序顺序出现是有区别的。如果要对它们进行排序,请使用Collections.sort()对它们进行排序。

您是否尝试过使用prop.keys()而不是prop.keySet()?希望它们按它们在属性文件中出现的顺序出现与按排序顺序出现是有区别的。如果要对它们进行排序,请使用Collections.sort()对它们进行排序。

不如改用
BufferedReader
。将每一行读入一个字符串,然后使用
string.split
在“=”符号处拆分每一行。将string.split中的
数组[0]
添加到属性数组中。他们会准备好的。这不是最好的方法,但它会让你得到你想要的。

BufferedReader
代替怎么样。将每一行读入一个字符串,然后使用
string.split
在“=”符号处拆分每一行。将string.split中的
数组[0]
添加到属性数组中。他们会准备好的。这不是最好的方法,但它可以满足您的需求。

您应该知道,set没有订单。所以,当你把它放在一个集合中时,它的顺序是松散的。你可以用。我还没有尝试过,所以如果要保留排序,我不是用户。我不明白你为什么要为此使用属性?它不是为了这个。它只用于保存/存储/检索应用程序的属性。您应该知道该集合没有排序。所以,当你把它放在一个集合中时,它的顺序是松散的。你可以用。我还没有尝试过,所以如果要保留排序,我不是用户。我不明白你为什么要为此使用属性?它不是为了这个。它仅用于保存/存储/检索应用程序的属性。