public class Properties

  1. Object
  2. AbstractMap<String, String>
  3. HashMap<String, String>
  4. Properties

ImplementsMap<String, String>

A Properties object is a Hashtable where the keys and values must be Strings. Each property can have a default Properties list which specifies the default values to be used when a given key is not found in this Properties instance.

Character Encoding

Note that in some cases Properties uses ISO-8859-1 instead of UTF-8. ISO-8859-1 is only capable of representing a tiny subset of Unicode. Use either the loadFromXML/storeToXML methods (which use UTF-8 by default) or the load/store overloads that take an OutputStreamWriter (so you can supply a UTF-8 instance) instead.

See also

Fields

protected Properties defaultsThe default values for keys not found in this Properties instance.

Constructors

public Properties()Constructs a new Properties object.
public Properties(Properties properties)Constructs a new Properties object using the specified default Properties.

Methods

public String getProperty(String name)Searches for the property with the specified name.
public String getProperty(String name, String defaultValue)Searches for the property with the specified name.
public synchronized void load(InputStream in) throws IOExceptionLoads properties from the specified InputStream, assumed to be ISO-8859-1.
public synchronized void load(Reader in) throws IOExceptionLoads properties from the specified Reader.
public Enumeration<?> propertyNames()Returns all of the property names (keys) in this Properties object.
public Set<String> stringPropertyNames()Returns those property names (keys) in this Properties object for which both key and value are strings.
public void save(OutputStream out, String comment)Deprecated Saves the mappings in this Properties to the specified OutputStream, putting the specified comment at the beginning.
public Object setProperty(String name, String value)Maps the specified key to the specified value.
public synchronized void store(OutputStream out, String comment) throws IOExceptionStores properties to the specified OutputStream, using ISO-8859-1.
public synchronized void store(Writer writer, String comment) throws IOExceptionStores the mappings in this Properties object to out, putting the specified comment at the beginning.

Inherited nested types

Inherited methods

Field details

defaults

protected Properties defaults
The default values for keys not found in this Properties instance.

Constructor details

Properties

public Properties()
Constructs a new Properties object.

Properties

public Properties(Properties properties)
Constructs a new Properties object using the specified default Properties.

Parameters

properties Properties
the default Properties.

Method details

getProperty

public String getProperty(String name)
Searches for the property with the specified name. If the property is not found, the default Properties are checked. If the property is not found in the default Properties, null is returned.

Parameters

name String
the name of the property to find.

Returns

the named property value, or null if it can’t be found.

getProperty

public String getProperty(String name, String defaultValue)
Searches for the property with the specified name. If the property is not found, it looks in the default Properties. If the property is not found in the default Properties, it returns the specified default.

Parameters

name String
the name of the property to find.
defaultValue String
the default value.

Returns

the named property value.

load

public synchronized void load(InputStream in) throws IOException
Loads properties from the specified InputStream, assumed to be ISO-8859-1. See “Character Encoding”.

Parameters

in InputStream
the InputStream

load

public synchronized void load(Reader in) throws IOException

Loads properties from the specified Reader. The properties file is interpreted according to the following rules:

  • Empty lines are ignored.

  • Lines starting with either a “#” or a “!” are comment lines and are ignored.

  • A backslash at the end of the line escapes the following newline character ("\r", “\n”, “\r\n”). If there’s whitespace after the backslash it will just escape that whitespace instead of concatenating the lines. This does not apply to comment lines.

  • A property line consists of the key, the space between the key and the value, and the value. The key goes up to the first whitespace, “=” or “:” that is not escaped. The space between the key and the value contains either one whitespace, one “=” or one “:” and any amount of additional whitespace before and after that character. The value starts with the first character after the space between the key and the value.

  • Following escape sequences are recognized: \ , \\, \r, \n, \!, \#, \t, \b, \f, and ￿ (unicode character).

Parameters

in Reader
the Reader

propertyNames

public Enumeration<?> propertyNames()
Returns all of the property names (keys) in this Properties object.

stringPropertyNames

public Set<String> stringPropertyNames()
Returns those property names (keys) in this Properties object for which both key and value are strings.

Returns

a set of keys in the property list

save

public void save(OutputStream out, String comment)
Deprecated. This method ignores any IOException thrown while writing – use #store instead for better exception handling.
Saves the mappings in this Properties to the specified OutputStream, putting the specified comment at the beginning. The output from this method is suitable for being read by the #load(InputStream) method.

Parameters

out OutputStream
the OutputStream to write to.
comment String
the comment to add at the beginning.

Throws

ClassCastException
if the key or value of a mapping is not a String.

setProperty

public Object setProperty(String name, String value)
Maps the specified key to the specified value. If the key already exists, the old value is replaced. The key and value cannot be null.

Parameters

name String
the key.
value String
the value.

Returns

the old value mapped to the key, or null.

store

public synchronized void store(OutputStream out, String comment) throws IOException
Stores properties to the specified OutputStream, using ISO-8859-1. See “Character Encoding”.

Parameters

out OutputStream
the OutputStream
comment String
an optional comment to be written, or null

Throws

IOException
ClassCastException
if a key or value is not a string

store

public synchronized void store(Writer writer, String comment) throws IOException
Stores the mappings in this Properties object to out, putting the specified comment at the beginning.

Parameters

writer Writer
the Writer
comment String
an optional comment to be written, or null

Throws

IOException
ClassCastException
if a key or value is not a string