Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.util.Dictionary<K,V>
java.util.Hashtable<K,V>
java.util.Properties
public class Properties
extends Hashtable<K,V>
\
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 FormField Summary | |
protected Properties |
|
Constructor Summary | |
| |
|
Method Summary | |
String |
|
String |
|
void |
|
void |
|
void |
|
void | |
void |
|
Enumeration |
|
Object |
|
void |
|
void |
|
void |
|
@Deprecated |
|
Methods inherited from class java.util.Hashtable<K,V> | |
V>> entrySet , clear , clone , contains , containsKey , containsValue , elements , equals , get , hashCode , isEmpty , keySet , keys , put , putAll , rehash , remove , size , toString , values |
Methods inherited from class java.util.Dictionary<K,V> | |
elements , get , isEmpty , keys , put , remove , size |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
protected Properties defaults
The property list that contains default values for any keys not in this property list.
public Properties(Properties defaults)
Create a new empty property list with the specified default values.
- Parameters:
defaults
- a Properties object containing the default values
public String getProperty(String key)
Gets the property with the specified key in this property list. If the key is not found, the default property list is searched. If the property is not found in the default, null is returned.
- Parameters:
key
- The key for this property
- Returns:
- the value for the given key, or null if not found
- Throws:
ClassCastException
- if this property contains any key or value that isn't a string
public String getProperty(String key, String defaultValue)
Gets the property with the specified key in this property list. If the key is not found, the default property list is searched. If the property is not found in the default, the specified defaultValue is returned.
- Parameters:
key
- The key for this propertydefaultValue
- A default value
- Returns:
- The value for the given key
- Throws:
ClassCastException
- if this property contains any key or value that isn't a string
- See Also:
defaults
,setProperty(String,String)
public void list(PrintStream out)
Prints the key/value pairs to the given print stream. This is mainly useful for debugging purposes.
- Parameters:
out
- the print stream, where the key/value pairs are written to
- Throws:
ClassCastException
- if this property contains a key or a value that isn't a string
- See Also:
list(PrintWriter)
public void list(PrintWriter out)
Prints the key/value pairs to the given print writer. This is mainly useful for debugging purposes.
- Parameters:
out
- the print writer where the key/value pairs are written to
- Throws:
ClassCastException
- if this property contains a key or a value that isn't a string
- Since:
- 1.1
- See Also:
list(PrintStream)
public void load(InputStream inStream) throws IOException
Reads a property list from the supplied input stream. This method has the same functionality asload(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.
- Parameters:
inStream
- the byte stream to read the property list from.
- Throws:
IOException
- if an I/O error occurs.
- Since:
- 1.2
- See Also:
load(Reader)
public void load(Reader inReader) throws IOException
Reads a property list from a character stream. The stream should have the following format:
An empty line or a line starting with#
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 chars up to the first whitespace, = or : are the key. You can include this caracters in the key, if you precede them with a backslash (\
). 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.
Escape sequences\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
- Parameters:
inReader
- the inputReader
.
- Throws:
IOException
- if an error occurred when reading the inputNullPointerException
- if in is null
- Since:
- 1.6
public void loadFromXML(InputStream in) throws IOException, InvalidPropertiesFormatException
Decodes the contents of the suppliedInputStream
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.
- Parameters:
in
- the input stream from which to receive the XML data.
- Throws:
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
- ifin
is null.
- Since:
- 1.5
public Enumeration propertyNames()
Returns an enumeration of all keys in this property list, including the keys in the default property list.
- Returns:
- an Enumeration of all defined keys
public Object setProperty(String key, String value)
Adds the given key/value pair to this properties. This calls the hashtable method put.
- Parameters:
key
- the key for this propertyvalue
- the value for this property
- Returns:
- The old value for the given key
- Since:
- 1.2
- See Also:
getProperty(String)
public void store(OutputStream out, String header) throws IOException
Writes the key/value pairs to the given output stream, in a format suitable forload
.
If header is not null, this method writes a comment containing the header as first line to the stream. The next line (or first line if header is null) contains a comment with the current date. Afterwards the key/value pairs are written to the stream in the following format.
Each line has the formkey = 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.
Following the listing, the output stream is flushed but left open.
- Parameters:
out
- the output streamheader
- the header written in the first line, may be null
- Throws:
ClassCastException
- if this property contains any key or value that isn't a stringIOException
- if writing to the stream failsNullPointerException
- if out is null
- Since:
- 1.2
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")
.
- Parameters:
os
- the stream to output to.comment
- a comment to include at the top of the XML file, ornull
if one is not required.
- Throws:
IOException
- if the serialization fails.NullPointerException
- ifos
is null.
- Since:
- 1.5
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.
- Parameters:
os
- the stream to output to.comment
- a comment to include at the top of the XML file, ornull
if one is not required.encoding
- the encoding to use for the XML output.
- Throws:
IOException
- if the serialization fails.NullPointerException
- ifos
orencoding
is null.
- Since:
- 1.5
public @Deprecated void save(OutputStream out, String header)
Deprecated. use
store(OutputStream,String)
insteadCallsstore(OutputStream out, String header)
and ignores the IOException that may be thrown.
- Parameters:
out
- the stream to write toheader
- a description of the property list
- Throws:
ClassCastException
- if this property contains any key or value that are not strings