Package org.springframework.util

# Class DefaultPropertiesPersister

java.lang.Object
org.springframework.util.DefaultPropertiesPersister

All Implemented Interfaces:
  `PropertiesPersister`

public class DefaultPropertiesPersister extends Object implements PropertiesPersister
Default implementation of the `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` is also 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, Sebastien Deleuze
See Also:
  - `Properties`
  - `Properties.load(java.io.Reader)`
  - `Properties.store(java.io.Writer, java.lang.String)`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final DefaultPropertiesPersister`
`INSTANCE`
A convenient constant for a default `DefaultPropertiesPersister` instance, as used in Spring's common resource support.

## Constructor Summary

Constructors
Constructor
Description
`DefaultPropertiesPersister()`

## Method Summary

Modifier and Type
Method
Description
`void`
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### INSTANCE

public static final DefaultPropertiesPersister INSTANCE
A convenient constant for a default `DefaultPropertiesPersister` instance, as used in Spring's common resource support.

Since:
  6.0

## Constructor Details

### DefaultPropertiesPersister

public DefaultPropertiesPersister()

## Method Details

### load

public void load(Properties props, InputStream is) throws IOException
Description copied from interface: `PropertiesPersister`
Load properties from the given InputStream into the given Properties object.

Specified by:
  `load` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to load into
  `is` - the InputStream to load from
Throws:
  `IOException` - in case of I/O errors
See Also:
  - `Properties.load(java.io.Reader)`

### load

public void load(Properties props, Reader reader) throws IOException
Description copied from interface: `PropertiesPersister`
Load properties from the given Reader into the given Properties object.

Specified by:
  `load` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to load into
  `reader` - the Reader to load from
Throws:
  `IOException` - in case of I/O errors

### store

public void store(Properties props, OutputStream os, String header) throws IOException
Description copied from interface: `PropertiesPersister`
Write the contents of the given Properties object to the given OutputStream.

Specified by:
  `store` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to store
  `os` - the OutputStream to write to
  `header` - the description of the property list
Throws:
  `IOException` - in case of I/O errors
See Also:
  - `Properties.store(java.io.Writer, java.lang.String)`

### store

public void store(Properties props, Writer writer, String header) throws IOException
Description copied from interface: `PropertiesPersister`
Write the contents of the given Properties object to the given Writer.

Specified by:
  `store` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to store
  `writer` - the Writer to write to
  `header` - the description of the property list
Throws:
  `IOException` - in case of I/O errors

### loadFromXml

public void loadFromXml(Properties props, InputStream is) throws IOException
Description copied from interface: `PropertiesPersister`
Load properties from the given XML InputStream into the given Properties object.

Specified by:
  `loadFromXml` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to load into
  `is` - the InputStream to load from
Throws:
  `IOException` - in case of I/O errors
See Also:
  - `Properties.loadFromXML(java.io.InputStream)`

### storeToXml

public void storeToXml(Properties props, OutputStream os, String header) throws IOException
Description copied from interface: `PropertiesPersister`
Write the contents of the given Properties object to the given XML OutputStream.

Specified by:
  `storeToXml` in interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to store
  `os` - the OutputStream to write to
  `header` - the description of the property list
Throws:
  `IOException` - in case of I/O errors
See Also:
  - `Properties.storeToXML(java.io.OutputStream, String)`

### 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 interface `PropertiesPersister`
Parameters:
  `props` - the Properties object to store
  `os` - the OutputStream to write to
  `header` - the description of the property list
  `encoding` - the encoding to use
Throws:
  `IOException` - in case of I/O errors
See Also:
  - `Properties.storeToXML(java.io.OutputStream, String, String)`