java.util.Properties, :
package stackoverflow;
import java.util.Properties;
public class Main {
static Properties propsBase;
static Properties propsOverlay;
static Properties propsOverlayOverlay;
public static void main(String[] args) {
propsBase = new Properties();
propsOverlay = new Properties(propsBase);
propsOverlayOverlay = new Properties(propsOverlay);
propsBase.setProperty("key1", "value1");
propsBase.setProperty("key2", "value2");
debugAllProps();
propsOverlay.setProperty("key1", "overlayValue1");
debugAllProps();
propsOverlayOverlay.setProperty("key1", "overlayOverlayValue1");
debugAllProps();
propsOverlayOverlay.remove("key1");
debugAllProps();
propsOverlay.remove("key1");
debugAllProps();
}
private static void debugAllProps() {
printProps("propsBase", propsBase);
printProps("propsOverlay", propsOverlay);
printProps("propsOverlayOverlay", propsOverlayOverlay);
System.out.println("------------------------------------------------");
}
private static void printProps(String desc, Properties props) {
System.out.printf("%-25s", desc + " sees:");
for (String key : props.stringPropertyNames()) {
System.out.printf(" %s=%s", key, props.getProperty(key));
}
System.out.println();
}
}
:
propsBase sees: key2=value2 key1=value1
propsOverlay sees: key2=value2 key1=value1
propsOverlayOverlay sees: key2=value2 key1=value1
-------------------------------------------------
propsBase sees: key2=value2 key1=value1
propsOverlay sees: key2=value2 key1=overlayValue1
propsOverlayOverlay sees: key2=value2 key1=overlayValue1
-------------------------------------------------
propsBase sees: key2=value2 key1=value1
propsOverlay sees: key2=value2 key1=overlayValue1
propsOverlayOverlay sees: key2=value2 key1=overlayOverlayValue1
-------------------------------------------------
propsBase sees: key2=value2 key1=value1
propsOverlay sees: key2=value2 key1=overlayValue1
propsOverlayOverlay sees: key2=value2 key1=overlayValue1
-------------------------------------------------
propsBase sees: key2=value2 key1=value1
propsOverlay sees: key2=value2 key1=value1
propsOverlayOverlay sees: key2=value2 key1=value1
:
java.util.Properties, String.
, , java.util.Properties, , Hashtable, .
- , , , java.util.Properties, , Properties . java.util.Properties, src.zip, JDK.
- ,
- , - , "". , a
HashMap. java.util,