Package org.eclipse.jgit.util.io
Class TeeInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.eclipse.jgit.util.io.TeeInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class TeeInputStream extends java.io.InputStreamInput stream that copies data read to another output stream. This stream is primarily useful with aTemporaryBuffer, where any data read or skipped by the caller is also duplicated into the temporary buffer. Later the temporary buffer can then be used instead of the original source stream. During close this stream copies any remaining data from the source stream into the destination stream.
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.OutputStreamdstprivate byte[]skipBufferprivate java.io.InputStreamsrc
-
Constructor Summary
Constructors Constructor Description TeeInputStream(java.io.InputStream src, java.io.OutputStream dst)Initialize a tee input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intread()intread(byte[] b, int off, int len)longskip(long count)private byte[]skipBuffer()
-
-
-
Constructor Detail
-
TeeInputStream
public TeeInputStream(java.io.InputStream src, java.io.OutputStream dst)Initialize a tee input stream.- Parameters:
src- source stream to consume.dst- destination to copy the source to as it is consumed. Typically this is aTemporaryBuffer.
-
-
Method Detail
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
skip
public long skip(long count) throws java.io.IOException- Overrides:
skipin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
skipBuffer
private byte[] skipBuffer()
-
-