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:
Closeable
,AutoCloseable
,Readable
public class StringSubstitutorReader extends 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(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.-
Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset, skip
-
Methods inherited from class java.io.Reader
nullReader, read, read, transferTo
-
-
-
-
Constructor Detail
-
StringSubstitutorReader
public StringSubstitutorReader(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:
NullPointerException
- ifreader
isnull
.NullPointerException
- ifstringSubstitutor
isnull
.
-
-
Method Detail
-
read
public int read() throws IOException
Reads a single character.- Overrides:
read
in classFilterReader
- Returns:
- a character as an
int
or-1
for end-of-stream. - Throws:
IOException
- If an I/O error occurs
-
read
public int read(char[] target, int targetIndexIn, int targetLengthIn) throws IOException
Reads characters into a portion of an array.- Overrides:
read
in classFilterReader
- 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:
IOException
- If an I/O error occurs
-
-