Class DefaultPropertiesPersister
- All Implemented Interfaces:
PropertiesPersister
- Direct Known Subclasses:
ResourcePropertiesPersister
PropertiesPersister
interface.
Follows the native parsing of java.util.Properties
.
Allows for reading from any Reader and writing to any Writer, for example
to specify a charset for a properties file. This is a capability that standard
java.util.Properties
unfortunately lacked up until JDK 5:
You were only able to load files using the ISO-8859-1 charset there.
Loading from and storing to a stream delegates to Properties.load
and Properties.store
, respectively, to be fully compatible with
the Unicode conversion as implemented by the JDK Properties class. As of JDK 6,
Properties.load/store
will also be used for readers/writers,
effectively turning this class into a plain backwards compatibility adapter.
The persistence code that works with Reader/Writer follows the JDK's parsing strategy but does not implement Unicode conversion, because the Reader/Writer should already apply proper decoding/encoding of characters. If you prefer to escape unicode characters in your properties files, do not specify an encoding for a Reader/Writer (like ReloadableResourceBundleMessageSource's "defaultEncoding" and "fileEncodings" properties).
- Since:
- 10.03.2004
- Author:
- Juergen Hoeller
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
load
(Properties props, InputStream is) Load properties from the given InputStream into the given Properties object.void
load
(Properties props, Reader reader) Load properties from the given Reader into the given Properties object.void
loadFromXml
(Properties props, InputStream is) Load properties from the given XML InputStream into the given Properties object.void
store
(Properties props, OutputStream os, String header) Write the contents of the given Properties object to the given OutputStream.void
store
(Properties props, Writer writer, String header) Write the contents of the given Properties object to the given Writer.void
storeToXml
(Properties props, OutputStream os, String header) Write the contents of the given Properties object to the given XML OutputStream.void
storeToXml
(Properties props, OutputStream os, String header, String encoding) Write the contents of the given Properties object to the given XML OutputStream.
-
Constructor Details
-
DefaultPropertiesPersister
public DefaultPropertiesPersister()
-
-
Method Details
-
load
Description copied from interface:PropertiesPersister
Load properties from the given InputStream into the given Properties object.- Specified by:
load
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intois
- the InputStream to load from- Throws:
IOException
- in case of I/O errors- See Also:
-
load
Description copied from interface:PropertiesPersister
Load properties from the given Reader into the given Properties object.- Specified by:
load
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intoreader
- the Reader to load from- Throws:
IOException
- in case of I/O errors
-
store
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given OutputStream.- Specified by:
store
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors- See Also:
-
store
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given Writer.- Specified by:
store
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storewriter
- the Writer to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors
-
loadFromXml
Description copied from interface:PropertiesPersister
Load properties from the given XML InputStream into the given Properties object.- Specified by:
loadFromXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intois
- the InputStream to load from- Throws:
IOException
- in case of I/O errors- See Also:
-
storeToXml
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given XML OutputStream.- Specified by:
storeToXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors- See Also:
-
storeToXml
public void storeToXml(Properties props, OutputStream os, String header, String encoding) throws IOException Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given XML OutputStream.- Specified by:
storeToXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property listencoding
- the encoding to use- Throws:
IOException
- in case of I/O errors- See Also:
-