Package org.apache.commons.io.input
Class TeeReader
java.lang.Object
java.io.Reader
java.io.FilterReader
org.apache.commons.io.input.ProxyReader
org.apache.commons.io.input.TeeReader
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Readable
Reader proxy that transparently writes a copy of all characters read from the proxied reader to a given Reader. Using
 
ProxyReader.skip(long) or ProxyReader.mark(int)/ProxyReader.reset() on the reader will result on some characters from the
 reader being skipped or duplicated in the writer.
 
 The proxied reader is closed when the close() method is called on this proxy. You may configure whether the
 reader closes the writer.
 
- Since:
- 2.7
- 
Field SummaryFields inherited from class java.io.FilterReaderin
- 
Constructor SummaryConstructorsConstructorDescription
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()Closes the proxied reader and, if so configured, the associated writer.intread()Reads a single character from the proxied reader and writes it to the associated writer.intread(char[] chr) Reads characters from the proxied reader and writes the read characters to the associated writer.intread(char[] chr, int st, int end) Reads characters from the proxied reader and writes the read characters to the associated writer.intread(CharBuffer target) Reads characters from the proxied reader and writes the read characters to the associated writer.Methods inherited from class org.apache.commons.io.input.ProxyReaderafterRead, beforeRead, handleIOException, mark, markSupported, ready, reset, skip
- 
Constructor Details- 
TeeReaderConstructs a TeeReader that proxies the givenReaderand copies all read characters to the givenWriter. The given writer will not be closed when this reader gets closed.- Parameters:
- input- reader to be proxied
- branch- writer that will receive a copy of all characters read
 
- 
TeeReaderConstructs a TeeReader that proxies the givenReaderand copies all read characters to the givenWriter. The given writer will be closed when this reader gets closed if the closeBranch parameter istrue.- Parameters:
- input- reader to be proxied
- branch- writer that will receive a copy of all characters read
- closeBranch- flag for closing also the writer when this reader is closed
 
 
- 
- 
Method Details- 
closeCloses the proxied reader and, if so configured, the associated writer. An exception thrown from the reader will not prevent closing of the writer.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Overrides:
- closein class- ProxyReader
- Throws:
- IOException- if either the reader or writer could not be closed
 
- 
readReads a single character from the proxied reader and writes it to the associated writer.- Overrides:
- readin class- ProxyReader
- Returns:
- next character from the reader, or -1 if the reader has ended
- Throws:
- IOException- if the reader could not be read (or written)
 
- 
readReads characters from the proxied reader and writes the read characters to the associated writer.- Overrides:
- readin class- ProxyReader
- Parameters:
- chr- character buffer
- Returns:
- number of characters read, or -1 if the reader has ended
- Throws:
- IOException- if the reader could not be read (or written)
 
- 
readReads characters from the proxied reader and writes the read characters to the associated writer.- Overrides:
- readin class- ProxyReader
- Parameters:
- chr- character buffer
- st- start offset within the buffer
- end- maximum number of characters to read
- Returns:
- number of characters read, or -1 if the reader has ended
- Throws:
- IOException- if the reader could not be read (or written)
 
- 
readReads characters from the proxied reader and writes the read characters to the associated writer.- Specified by:
- readin interface- Readable
- Overrides:
- readin class- ProxyReader
- Parameters:
- target- character buffer
- Returns:
- number of characters read, or -1 if the reader has ended
- Throws:
- IOException- if the reader could not be read (or written)
 
 
-