org.apache.commons.io.input

Class TeeInputStream

  • All Implemented Interfaces:
    Closeable, AutoCloseable


    public class TeeInputStreamextends ProxyInputStream
    InputStream proxy that transparently writes a copy of all bytes read from the proxied stream to a given OutputStream. Using ProxyInputStream.skip(long) or ProxyInputStream.mark(int)/ProxyInputStream.reset() on the stream will result on some bytes from the input stream being skipped or duplicated in the output stream.

    The proxied input stream is closed when the close() method is called on this proxy. It is configurable whether the associated output stream will also closed.

    Since:
    1.4
    Version:
    $Id: TeeInputStream.java 1586350 2014-04-10 15:57:20Z ggregory $
    • Constructor Detail

      • TeeInputStream

        public TeeInputStream(InputStream input,              OutputStream branch)
        Creates a TeeInputStream that proxies the given InputStream and copies all read bytes to the given OutputStream. The given output stream will not be closed when this stream gets closed.
        Parameters:
        input - input stream to be proxied
        branch - output stream that will receive a copy of all bytes read
      • TeeInputStream

        public TeeInputStream(InputStream input,              OutputStream branch,              boolean closeBranch)
        Creates a TeeInputStream that proxies the given InputStream and copies all read bytes to the given OutputStream. The given output stream will be closed when this stream gets closed if the closeBranch parameter is true.
        Parameters:
        input - input stream to be proxied
        branch - output stream that will receive a copy of all bytes read
        closeBranch - flag for closing also the output stream when this stream is closed
    • Method Detail

      • close

        public void close()           throws IOException
        Closes the proxied input stream and, if so configured, the associated output stream. An exception thrown from one stream will not prevent closing of the other stream.
        Specified by:
        close in interface Closeable
        Specified by:
        close in interface AutoCloseable
        Overrides:
        close in class ProxyInputStream
        Throws:
        IOException - if either of the streams could not be closed
      • read

        public int read()         throws IOException
        Reads a single byte from the proxied input stream and writes it to the associated output stream.
        Overrides:
        read in class ProxyInputStream
        Returns:
        next byte from the stream, or -1 if the stream has ended
        Throws:
        IOException - if the stream could not be read (or written)
      • read

        public int read(byte[] bts,       int st,       int end)         throws IOException
        Reads bytes from the proxied input stream and writes the read bytes to the associated output stream.
        Overrides:
        read in class ProxyInputStream
        Parameters:
        bts - byte buffer
        st - start offset within the buffer
        end - maximum number of bytes to read
        Returns:
        number of bytes read, or -1 if the stream has ended
        Throws:
        IOException - if the stream could not be read (or written)
      • read

        public int read(byte[] bts)         throws IOException
        Reads bytes from the proxied input stream and writes the read bytes to the associated output stream.
        Overrides:
        read in class ProxyInputStream
        Parameters:
        bts - byte buffer
        Returns:
        number of bytes read, or -1 if the stream has ended
        Throws:
        IOException - if the stream could not be read (or written)

Copyright © 2002–2016 The Apache Software Foundation. All rights reserved.



NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14