public class Properties extends Hashtable<Object,Object>
\
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
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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 the supplied input stream.
|
void |
load(Reader inReader)
Reads a property list from a character stream.
|
Enumeration<?> |
propertyNames()
Returns an enumeration of all keys in this property list, including
the keys in the default property list.
|
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 .If header is not null, this method writes a comment containing the header as first line to the stream. |
public Properties()
public Properties(Properties defaults)
defaults
- a Properties object containing the default valuespublic String getProperty(String key)
key
- The key for this propertyClassCastException
- 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 valueClassCastException
- if this property contains any key or
value that isn't a stringdefaults
,
setProperty(String, String)
public void list(PrintStream out)
out
- the print stream, where the key/value pairs are written toClassCastException
- 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 toClassCastException
- if this property contains a key or a
value that isn't a stringlist(PrintStream)
public void load(InputStream inStream) throws IOException
load(Reader)
but the character encoding is assumed to be ISO-8859-1.
Unicode characters not within the Latin1 set supplied by
ISO-8859-1 should be escaped using '\\uXXXX' where XXXX
is the UTF-16 code unit in hexadecimal.inStream
- the byte stream to read the property list from.IOException
- if an I/O error occurs.load(Reader)
public void load(Reader inReader) 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
inReader
- the input Reader
.IOException
- if an error occurred when reading the inputNullPointerException
- if in is nullpublic Enumeration<?> propertyNames()
public Object setProperty(String key, String value)
key
- the key for this propertyvalue
- the value for this propertygetProperty(String)
public 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 nullClassCastException
- if this property contains any key or
value that isn't a stringIOException
- if writing to the stream failsNullPointerException
- if out is null