|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Dictionary<K,V>
java.util.Hashtable<Object,Object>
java.util.Properties
public class Properties
A set of persistent properties, which can be saved or loaded from a stream.
A property list may also contain defaults, searched if the main list
does not contain a property for a given key.
An example of a properties file for the german language is given
here. This extends the example given in ListResourceBundle.
Create a file MyResource_de.properties with the following contents
and put it in the CLASSPATH. (The character
\
u00e4
is the german umlaut)
s1=3 s2=MeineDisk s3=3. M\u00e4rz 96 s4=Die Diskette ''{1}'' enth\
u00e4lt {0} in {2}. s5=0 s6=keine Dateien s7=1 s8=eine Datei s9=2 s10={0,number} Dateien s11=Das Formatieren schlug fehl mit folgender Exception: {0} s12=FEHLER s13=Ergebnis s14=Dialog s15=Auswahlkriterium s16=1,3
Although this is a sub class of a hash table, you should never
insert anything other than strings to this property, or several
methods, that need string keys and values, will fail. To ensure
this, you should use the get/setProperty
method instead
of get/put
.
Properties are saved in ISO 8859-1 encoding, using Unicode escapes with
a single u
for any character which cannot be represented.
PropertyResourceBundle
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Field Summary | |
---|---|
protected Properties |
defaults
The property list that contains default values for any keys not in this property list. |
Constructor Summary | |
---|---|
Properties()
Creates a new empty property list with no default values. |
|
Properties(Properties defaults)
Create a new empty property list with the specified default values. |
Method Summary | |
---|---|
String |
getProperty(String key)
Gets the property with the specified key in this property list. |
String |
getProperty(String key,
String defaultValue)
Gets the property with the specified key in this property list. |
void |
list(PrintStream out)
Prints the key/value pairs to the given print stream. |
void |
list(PrintWriter out)
Prints the key/value pairs to the given print writer. |
void |
load(InputStream inStream)
Reads a property list from an input stream. |
void |
loadFromXML(InputStream in)
Decodes the contents of the supplied InputStream as
an XML file, which represents a set of properties. |
Enumeration<?> |
propertyNames()
Returns an enumeration of all keys in this property list, including the keys in the default property list. |
void |
save(OutputStream out,
String header)
Deprecated. use store(OutputStream, String) instead |
Object |
setProperty(String key,
String value)
Adds the given key/value pair to this properties. |
void |
store(OutputStream out,
String header)
Writes the key/value pairs to the given output stream, in a format suitable for load . |
void |
storeToXML(OutputStream os,
String comment)
Encodes the properties as an XML file using the UTF-8 encoding. |
void |
storeToXML(OutputStream os,
String comment,
String encoding)
Encodes the properties as an XML file using the supplied encoding. |
Methods inherited from class java.util.Hashtable |
---|
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Properties defaults
Constructor Detail |
---|
public Properties()
public Properties(Properties defaults)
defaults
- a Properties object containing the default valuesMethod Detail |
---|
public Object setProperty(String key, String value)
key
- the key for this propertyvalue
- the value for this property
getProperty(String)
public void load(InputStream inStream) throws IOException
#
or
!
is ignored. An backslash (\
) at the
end of the line makes the line continueing on the next line
(but make sure there is no whitespace after the backslash).
Otherwise, each line describes a key/value pair. \
). The key is followed by optional
whitespaces, optionally one =
or :
,
and optionally some more whitespaces. The rest of the line is
the resource belonging to the key. \t, \n, \r, \\, \", \', \!, \#, \
(a
space), and unicode characters with the
\\u
xxxx notation are detected, and
converted to the corresponding single character. # This is a comment key = value k\:5 \ a string starting with space and ending with newline\n # This is a multiline specification; note that the value contains # no white space. weekdays: Sunday,Monday,Tuesday,Wednesday,\\ Thursday,Friday,Saturday # The safest way to include a space at the end of a value: label = Name:\\u0020
inStream
- the input stream
IOException
- if an error occurred when reading the input
NullPointerException
- if in is null@Deprecated public void save(OutputStream out, String header)
store(OutputStream, String)
instead
store(OutputStream out, String header)
and
ignores the IOException that may be thrown.
out
- the stream to write toheader
- a description of the property list
ClassCastException
- if this property contains any key or
value that are not stringspublic void store(OutputStream out, String header) throws IOException
load
.key = value
. Newlines,
Returns and tabs are written as \n,\t,\r
resp.
The characters \, !, #, =
and :
are
preceeded by a backslash. Spaces are preceded with a backslash,
if and only if they are at the beginning of the key. Characters
that are not in the ascii range 33 to 127 are written in the
\
u
xxxx Form.
out
- the output streamheader
- the header written in the first line, may be null
ClassCastException
- if this property contains any key or
value that isn't a string
IOException
- if writing to the stream fails
NullPointerException
- if out is nullpublic String getProperty(String key)
key
- The key for this property
ClassCastException
- if this property contains any key or
value that isn't a stringdefaults
,
setProperty(String, String)
,
getProperty(String, String)
public String getProperty(String key, String defaultValue)
key
- The key for this propertydefaultValue
- A default value
ClassCastException
- if this property contains any key or
value that isn't a stringdefaults
,
setProperty(String, String)
public Enumeration<?> propertyNames()
public void list(PrintStream out)
out
- the print stream, where the key/value pairs are written to
ClassCastException
- if this property contains a key or a
value that isn't a stringlist(PrintWriter)
public void list(PrintWriter out)
out
- the print writer where the key/value pairs are written to
ClassCastException
- if this property contains a key or a
value that isn't a stringlist(PrintStream)
public void storeToXML(OutputStream os, String comment) throws IOException
Encodes the properties as an XML file using the UTF-8 encoding. The format of the XML file matches the DTD http://java.sun.com/dtd/properties.dtd.
Invoking this method provides the same behaviour as invoking
storeToXML(os, comment, "UTF-8")
.
os
- the stream to output to.comment
- a comment to include at the top of the XML file, or
null
if one is not required.
IOException
- if the serialization fails.
NullPointerException
- if os
is null.public void storeToXML(OutputStream os, String comment, String encoding) throws IOException
Encodes the properties as an XML file using the supplied encoding. The format of the XML file matches the DTD http://java.sun.com/dtd/properties.dtd.
os
- the stream to output to.comment
- a comment to include at the top of the XML file, or
null
if one is not required.encoding
- the encoding to use for the XML output.
IOException
- if the serialization fails.
NullPointerException
- if os
or encoding
is null.public void loadFromXML(InputStream in) throws IOException, InvalidPropertiesFormatException
Decodes the contents of the supplied InputStream
as
an XML file, which represents a set of properties. The format of
the XML file must match the DTD
http://java.sun.com/dtd/properties.dtd.
in
- the input stream from which to receive the XML data.
IOException
- if an I/O error occurs in reading the input data.
InvalidPropertiesFormatException
- if the input data does not
constitute an XML properties
file.
NullPointerException
- if in
is null.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |