Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何按文件中的顺序获取属性_Java - Fatal编程技术网

Java 如何按文件中的顺序获取属性

Java 如何按文件中的顺序获取属性,java,Java,我正在使用文件属性文件并循环浏览该文件 Properties Config= new Properties(); Config.load(new FileInputStream("c:\\Config.properties")); Enumeration e = Config.propertyNames(); while (e.hasMoreElements()) { String key = (String) e.nextElement(); System.out.println(key

我正在使用文件属性文件并循环浏览该文件

Properties Config= new Properties();
Config.load(new FileInputStream("c:\\Config.properties"));
Enumeration e = Config.propertyNames();
while (e.hasMoreElements())
{ String key = (String) e.nextElement();
  System.out.println(key + " -- " + Config.getProperty(key));
}
我在C:\Config.properties中的输入是

输入

fun1=abc

fun2=pqr

fun3 mno

输出

fun2——pqr

fun1——abc

fun3——mno

我怎样才能在配置文件中准确地得到它。

这是不可能使用的,因为它扩展了本质上是无序的

您最好的选择是自己使用例如a或a来读取和解析它

然而,我想知道为什么订购如此重要。如果您详细阐述了这背后的功能需求,我可能会提出一些替代方案。根据给定的示例,我能向您建议的最接近的内容如下:

List<String> funs = new ArrayList<String>();

for (int i = 1; i < Integer.MAX_VALUE; i++) {
    String fun = config.getProperty("fun" + i);
    if (fun == null) break;
    funs.add(fun);
}

// ...
List funs=new ArrayList();
对于(int i=1;i
这是不可能使用的,因为它扩展了本质上是无序的

您最好的选择是自己使用例如a或a来读取和解析它

然而,我想知道为什么订购如此重要。如果您详细阐述了这背后的功能需求,我可能会提出一些替代方案。根据给定的示例,我能向您建议的最接近的内容如下:

List<String> funs = new ArrayList<String>();

for (int i = 1; i < Integer.MAX_VALUE; i++) {
    String fun = config.getProperty("fun" + i);
    if (fun == null) break;
    funs.add(fun);
}

// ...
List funs=new ArrayList();
对于(int i=1;i
属性不是有序映射,因此您可能希望从加载的属性创建一个映射。这保证了密钥自然有序。但我假设您希望该顺序是在属性文件中指定的顺序。没有办法自动做到这一点。你需要自己编写代码


正如BalusC所建议的那样,从一开始就使用文件API逐行读取,创建一个Pair/Tuple对象并将其插入List对象中,或者根据您的使用要求将其添加到SortedMap中。

属性不是有序映射,因此您可能希望从加载的属性创建一个对象。这保证了密钥自然有序。但我假设您希望该顺序是在属性文件中指定的顺序。没有办法自动做到这一点。你需要自己编写代码


正如BalusC建议从使用文件API开始逐行读取一样,创建一个Pair/Tuple对象并将其插入List对象中,或者根据您的使用要求将其添加到SortedMap中

如果没有一个库已经这样做了,我会感到震惊。例如,试试看。

如果没有一个库已经这样做了,我会感到震惊。例如,请尝试。

谢谢您的回复,我正在尝试将属性文件中的方法传递给它本身。我仍然不理解功能需求。无论如何,我编辑了答案并添加了一个建议,我想这最适合你的要求。它必须至少给你新的见解。哦,请尽量尊重你的朋友。变量名以小写字母开头。我正在读取excel文件,需要逐列执行一些操作,例如,对于第1列,我只需要调用两个方法,对于下一列,我需要调用第7列方法,依此类推。每次这些值都在更改,所以我尝试将其设置为CongigurableColumn 1=fun1,fun3,Column2=fun1,fun2,fun3,fun4,Column3=fun4 only等等。为了得到回复,我尝试将属性文件中的方法传递给它自己。我仍然不理解功能要求。无论如何,我编辑了答案并添加了一个建议,我想这最适合你的要求。它必须至少给你新的见解。哦,请尽量尊重你的朋友。变量名以小写字母开头。我正在读取excel文件,需要逐列执行一些操作,例如,对于第1列,我只需要调用两个方法,对于下一列,我需要调用第7列方法,依此类推。每次这些值都在更改,所以我尝试将其设置为congigurableColumn1=fun1、fun3、Column2=fun1、fun2、fun3、fun4、Column3=fun4等等