Class Properties
- All Implemented Interfaces:
Serializable, Cloneable, Map<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
-
Hashtable
-
java.lang.System#getProperties
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PropertiesThe default values for keys not found in thisPropertiesinstance. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newPropertiesobject.Properties(Properties properties) Constructs a newPropertiesobject using the specified defaultProperties. -
Method Summary
Modifier and TypeMethodDescriptiongetProperty(String name) Searches for the property with the specified name.getProperty(String name, String defaultValue) Searches for the property with the specified name.voidload(InputStream in) Loads properties from the specifiedInputStream, assumed to be ISO-8859-1.voidLoads properties from the specifiedReader.Enumeration<?> Returns all of the property names (keys) in thisPropertiesobject.voidsave(OutputStream out, String comment) Deprecated.setProperty(String name, String value) Maps the specified key to the specified value.voidstore(OutputStream out, String comment) Stores properties to the specifiedOutputStream, using ISO-8859-1.voidStores the mappings in thisPropertiesobject toout, putting the specified comment at the beginning.Returns those property names (keys) in thisPropertiesobject for which both key and value are strings.Methods inherited from class HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuesMethods inherited from class AbstractMap
equals, hashCode, toString
-
Field Details
-
defaults
The default values for keys not found in thisPropertiesinstance.
-
-
Constructor Details
-
Properties
public Properties()Constructs a newPropertiesobject. -
Properties
Constructs a new
Propertiesobject using the specified defaultProperties.Parameters
properties: the defaultProperties.
-
-
Method Details
-
getProperty
Searches for the property with the specified name. If the property is not found, the default
Propertiesare checked. If the property is not found in the defaultProperties,nullis returned.Parameters
name: the name of the property to find.
Returns
the named property value, or
nullif it can't be found. -
getProperty
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 defaultProperties, it returns the specified default.Parameters
-
name: the name of the property to find. -
defaultValue: the default value.
Returns
the named property value.
-
-
load
Loads properties from the specified
InputStream, assumed to be ISO-8859-1. See "Character Encoding".Parameters
in: theInputStream
Throws
IOException
- Throws:
IOException
-
load
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: theReader
Throws
IOException
Since
1.6
- Throws:
IOException
-
-
propertyNames
Returns all of the property names (keys) in thisPropertiesobject. -
stringPropertyNames
-
save
Deprecated.This method ignores anyIOExceptionthrown while writing -- use#storeinstead for better exception handling.Saves the mappings in this
Propertiesto the specifiedOutputStream, putting the specified comment at the beginning. The output from this method is suitable for being read by the#load(InputStream)method.Parameters
-
out: theOutputStreamto write to. -
comment: the comment to add at the beginning.
Throws
ClassCastException: @throws ClassCastException if the key or value of a mapping is not a String.
Deprecated
-
-
setProperty
-
store
Stores properties to the specified
OutputStream, using ISO-8859-1. See "Character Encoding".Parameters
-
out: theOutputStream -
comment: an optional comment to be written, or null
Throws
-
IOException -
ClassCastException: if a key or value is not a string
- Throws:
IOException
-
-
store
Stores the mappings in this
Propertiesobject toout, putting the specified comment at the beginning.Parameters
-
writer: theWriter -
comment: an optional comment to be written, or null
Throws
-
IOException -
ClassCastException: if a key or value is not a string
Since
1.6
- Throws:
IOException
-
-
IOExceptionthrown while writing -- use#storeinstead for better exception handling.