Package org.apache.commons.text.io
Class StringSubstitutorReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.FilterReader
-
- org.apache.commons.text.io.StringSubstitutorReader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Readable
public class StringSubstitutorReader extends java.io.FilterReader
AReader
that performs string substitution on a sourceReader
using aStringSubstitutor
.Using this Reader avoids reading a whole file into memory as a
String
to perform string substitution, for example, when a Servlet filters a file to a client.This class is not thread-safe.
- Since:
- 1.9
-
-
Constructor Summary
Constructors Constructor Description StringSubstitutorReader(java.io.Reader reader, StringSubstitutor stringSubstitutor)
Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
read()
Reads a single character.int
read(char[] target, int targetIndexIn, int targetLengthIn)
Reads characters into a portion of an array.
-
-
-
Constructor Detail
-
StringSubstitutorReader
public StringSubstitutorReader(java.io.Reader reader, StringSubstitutor stringSubstitutor)
Constructs a new instance.- Parameters:
reader
- the underlying reader containing the template text known to the givenStringSubstitutor
.stringSubstitutor
- How to replace as we read.- Throws:
java.lang.NullPointerException
- ifreader
isnull
.java.lang.NullPointerException
- ifstringSubstitutor
isnull
.
-
-
Method Detail
-
read
public int read() throws java.io.IOException
Reads a single character.- Overrides:
read
in classjava.io.FilterReader
- Returns:
- a character as an
int
or-1
for end-of-stream. - Throws:
java.io.IOException
- If an I/O error occurs
-
read
public int read(char[] target, int targetIndexIn, int targetLengthIn) throws java.io.IOException
Reads characters into a portion of an array.- Overrides:
read
in classjava.io.FilterReader
- Parameters:
target
- Target buffer.targetIndexIn
- Index in the target at which to start storing characters.targetLengthIn
- Maximum number of characters to read.- Returns:
- The number of characters read, or -1 on end of stream.
- Throws:
java.io.IOException
- If an I/O error occurs
-
-