我使用Java(Anylogic)和ini4j库从ini文件读取模型的初始参数。现在我读取一个参数的代码如下所示:
Wini ini = new Wini(new File(FILE_SETTINGS_NAME));
…
Ini.Section sec = ini.get(“AAA”);
…
if (sec.containsKey("useAutoAlgoritm")) {
useAutoAlgoritm = ini.get(“AAA”, "useAutoAlgoritm", int.class) == 1 ? true : false;
}
我不喜欢代码的第二部分。
首先,我必须使用相同的名称useAutoAlgoritm三次次,首先检查ini文件中该字段是否存在(如果不存在,那么我采用默认值)。然后在作业期间两次。
其次,我还没弄清楚如何在ini文件中存储布尔值,所以我必须将其转换为布尔值
第三,我有各种各样的类,以及其中变量的构成。因此,本质上有必要为每个类(对于必要类的每个组合)重新编写代码。也许有一些通用的下载方法?
谢谢
我阅读了这个论坛示例,以及 ini4j 帮助
只需仔细阅读 javadoc:
Wini ini = new Wini(new File(FILE_SETTINGS_NAME));
…
Ini.Section sec = ini.get(“AAA”);
…
boolean useAutoAlgorithm = sec.get("useAutoAlgoritm", int.class, 0) == 1;
false;
}
注:
get
的方法跨越多层层次结构,执行截然不同的操作。在某些时候,“当我使用这个蹩脚的库时,我发现我的代码很丑陋”只能这样回答:“然后编写你自己的/吸收它/使用另一个/使用你喜欢的 API 编写一个包装器”。x ? true : false
是一件非常愚蠢的事情。就写x
。