Я пытаюсь загрузить данные из файла .yaml
, в котором я храню IP-адреса и порты двух машин. Мой файл .yaml
выглядит следующим образом:
config.yaml
ip_addresses :
firstMachineAddress : '162.242.195.82'
secondMachineAddress : '50.31.209.229'
ports :
firstTargetPort : '4041'
secondTargetPort : '5051'
И я помещаю это в папку проекта (не в тот же пакет с классом), откуда я хочу загрузить. Однако все, что я пробовал до сих пор, не сработало.
Наконец, я поместил файл конфигурации под src/main/resources
и попробовал это:
private void loadFromFile() throws FileNotFoundException {
Yaml yaml = new Yaml();
ArrayList<String> key = new ArrayList<String>();
ArrayList<String> value = new ArrayList<String>();
try {
InputStream ios = getClass().getResourceAsStream("/config.yaml");
// Parse the YAML file and return the output as a series of Maps and Lists
Map<String, Object> result = (Map<String, Object>) yaml.load(ios);
for (Object name : result.keySet()) {
key.add(name.toString());
value.add(result.get(name).toString());
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(key + " : " + value);
}
но это тоже не сработало. Я получаю сообщение об ошибке «Поток закрыт», и он ничего не загружает.
Кто знает, кто решит эту проблему?
P.S.: Мне сказали использовать библиотеку змеи-yaml, и я не могу скачать никакую другую, если это имеет значение.