Known Direct Subclasses
Properties class represents a persistent set of
Properties can be saved to a stream
or loaded from a stream. Each key and its corresponding value in
the property list is a string.
A property list can contain another property list as its "defaults"; this second property list is searched if the property key is not found in the original property list.
Properties inherits from
putAll methods can be applied to a
Properties object. Their use is strongly discouraged as they
allow the caller to insert entries whose keys or values are not
setProperty method should be used
instead. If the
save method is called
on a "compromised"
Properties object that contains a
String key or value, the call will fail. Similarly,
the call to the
will fail if it is called on a "compromised"
object that contains a non-
methods load and store properties from and to a character based stream
in a simple line-oriented format specified below.
methods work the same way as the load(Reader)/store(Writer, String) pair, except
the input/output stream is encoded in ISO 8859-1 character encoding.
Characters that cannot be directly represented in this encoding can be written using
Unicode escapes as defined in section 3.3 of
The Java™ Language Specification;
only a single 'u' character is allowed in an escape
sequence. The native2ascii tool can be used to convert property files to and
from other character encodings.
storeToXML(OutputStream, String, String) methods load and store properties
in a simple XML format. By default the UTF-8 character encoding is used,
however a specific encoding may be specified if required. An XML properties
document has the following DOCTYPE declaration:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">Note that the system URI (http://java.sun.com/dtd/properties.dtd) is not accessed when exporting or importing properties; it merely serves as a string to uniquely identify the DTD, which is:
<?xml version="1.0" encoding="UTF-8"?> <!-- DTD for properties --> <!ELEMENT properties ( comment?, entry* ) > <!ATTLIST properties version CDATA #FIXED "1.0"> <!ELEMENT comment (#PCDATA) > <!ELEMENT entry (#PCDATA) > <!ATTLIST entry key CDATA #REQUIRED>
This class is thread-safe: multiple threads can share a single Properties object without the need for external synchronization.
Nested Class Summary
|interface||Properties.XmlLoader||Creates a dynamic dependency on XML support so that XML support can be excluded from the application binary without incurring link errors.|
|protected Properties||defaults||A property list that contains default values for any keys not found in this property list.|
Public Constructor Summary
Creates an empty property list with no default values.
Public Method Summary
Returns an enumeration of all the keys in this property list, including distinct keys in the default property list if a key of the same name has not already been found from the main properties list.
save(OutputStream out, String comments)
This method was deprecated. This method does not throw an IOException if an I/O error occurs while saving the property list. The preferred way to save a properties list is via the
Returns a set of keys in this property list where the key and its corresponding value are strings, including distinct keys in the default property list if a key of the same name has not already been found from the main properties list.
Inherited Method Summary
Clears this hashtable so that it contains no keys.
Creates a shallow copy of this hashtable.