私はこのコードを書きました:
public void reloadDefConfig(File filepath, String fileInJar) {
File configFile = filepath;
FileConfiguration daConfig = YamlConfiguration.loadConfiguration(configFile);
if (!configFile.exists()){
log.info(logName + "Creating default \"" + fileInJar + "\".");
InputStream defConfigStream = getResource(fileInJar);
if (defConfigStream != null){
YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
daConfig.setDefaults(defConfig);
try {
daConfig.save(configFile);
log.info(logName + "Default config file \"" + fileInJar + "\" wrote.");
} catch (IOException ex){
log.severe(logName + "Could not write config file: " + fileInJar);
}
} else {
log.warning(logName + "Could not find default \"" + fileInJar + "\" file.");
}
}
}
このconfig.ymlファイルを JAR 内に取り込んで出力する目的で、次のようにします。
# Home section; this next part of code decides how large the radius to check for monsters
# for the /home command if not set it will be auto default to 10x10x10 if you want to
# disable the radius use -1 on the value (note one value with -1 will disable all)
home:
x: 10
y: 10
x: 10
しかし、私がこのように呼び出すと:
reloadDefConfig(new File(getDataFolder(), "config.yml"), "config.yml");
値はコピーされません:
# Home section; this next part of code decides how large the radius to check for monsters
# for the /home command if not set it will be auto default to 10x10x10 if you want to
# disable the radius use -1 on the value (note one value with -1 will disable all)