【问题标题】:Reading multiple java property values into string or array将多个 java 属性值读入字符串或数组
【发布时间】:2017-04-16 23:13:52
【问题描述】:

希望有人能够提供帮助,我在 java 方面相对较新,并试图弄清楚如何使用属性函数来读取多个属性值,不一定按顺序或完整列表,然后将它们放入数组中或者一个字符串,这样我就可以传递给另一个类来做“东西”,比如写入文件。可能有数百个属性值,只想选择我想要的那些。 我可以得到一个像 properties.getProperty("ip");并分配给一个字符串,但有多个问题,如下所示......

任何帮助将不胜感激。

Properties properties = new Properties();

try {
    properties.load(new FileInputStream(args[0]));
} 
catch (IOException e) {
    System.out.println("Error - IOException - File not found...");
}

String model = properties.getProperty("model"); 
String codeLevel = properties.getProperty("codeLvl");

String[] dmdCommand = new String[properties.getProperty("ip")
        + properties.getProperty("rangeS")
        + properties.getProperty("rangeL")
        + properties.getProperty("PhyPG")
        + properties.getProperty("PhyLDEV")
        + properties.getProperty("PhyProc")
        + properties.getProperty("PhyExG")
        + properties.getProperty("PhyExLDEV")
        + properties.getProperty("PhyCMPK")];

如果您需要额外的信息或数据样本,我们很乐意提供。 提前干杯和感谢:)

【问题讨论】:

标签: java arrays string properties


【解决方案1】:

如果您知道属性的“键”,则可以使用字符串的ArrayList 来存储属性。

例如:

List<String> propertyList = new ArrayList<String>();
propertyList.add(properties.getProperty("rangeS"));

在这里,我假设您不知道要从属性中提取多少个密钥,因此建议使用 ArrayList,但如果您知道要提取的密钥数量,您绝对应该使用字符串数组。

例如:

String[] propertyArray = new String[limit];

for(int i=0;i<limit;i++){
    propertyArray[i]= new String(properties.getProperty(myKey));
}

在这里,“myKey”可以被编码为动态改变。

【讨论】:

  • 谢谢阿迪特,我认为这应该可行,并且需要使用已知和未知数量的密钥。对于您对“myKey”进行编码的建议,您将如何处理这个问题,因为 for 循环会一遍又一遍地遍历它??
  • 您可以为每次迭代提供方法调用或类似的东西。我的意思是密钥必须来自正确的地方,它们也可以是用户输入,或者可以从另一个文件中读取。一旦你得到一个新的字符串,你可以简单地将它设置为“myKey”变量并使用它。
猜你喜欢
  • 2018-12-14
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多