Возможно, это не лучший способ сделать это, но это лучшее, что я могу придумать: реализовать подкласс ResourceBundle
, в котором хранятся свойства, которые вы хотите добавить / заменить, а затем установить родительский элемент этого пакета равным PropertyResourceBundle
вы загружаете из входного потока.
InputStream in = getClass().getResourceAsStream("SQL.properties");
properties = new PropertyResourceBundle(in);
in.close();
MyCLIResourceBundle b = new MyCLIResourceBundle(properties);
// use b as your bundle
где реализация будет что-то вроде
public class MyCLIResourceBundle extends ResourceBundle {
public MyCLIResourceBundle(ResourceBundle parent) {
super();
this.setParent(parent);
// go on and load your chosen properties from System.getProperties() or wherever
}
}