Java InputStream to OutputStream copyStreamPortion(java.io.InputStream inputStream, java.io.OutputStream outputStream, int portionSize, int bufferSize)

Here you can find the source of copyStreamPortion(java.io.InputStream inputStream, java.io.OutputStream outputStream, int portionSize, int bufferSize)

Description

Read entire input stream portion and writes it data to output stream

License

Open Source License

Declaration

public static void copyStreamPortion(java.io.InputStream inputStream,
        java.io.OutputStream outputStream, int portionSize,
        int bufferSize) throws IOException 

Method Source Code

//package com.java2s;
/*//from   www  .j  a v a 2 s .c o m
 * DBeaver - Universal Database Manager
 * Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License (version 2)
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

import java.io.*;

public class Main {
    /**
       Read entire input stream portion and writes it data to output stream
     */
    public static void copyStreamPortion(java.io.InputStream inputStream,
            java.io.OutputStream outputStream, int portionSize,
            int bufferSize) throws IOException {
        if (bufferSize > portionSize) {
            bufferSize = portionSize;
        }
        byte[] writeBuffer = new byte[bufferSize];
        int totalRead = 0;
        while (totalRead < portionSize) {
            int bytesToRead = bufferSize;
            if (bytesToRead > portionSize - totalRead) {
                bytesToRead = portionSize - totalRead;
            }
            int bytesRead = inputStream.read(writeBuffer, 0, bytesToRead);
            outputStream.write(writeBuffer, 0, bytesRead);
            totalRead += bytesRead;
        }

        // Close input stream
        outputStream.flush();
    }
}

Related

  1. copyStreamContent(InputStream inputStream, OutputStream outputStream)
  2. copyStreamContent(InputStream inputStream, OutputStream outputStream)
  3. copyStreamFully(InputStream in, OutputStream out, int length)
  4. copyStreamIoe(final InputStream is, final OutputStream os)
  5. copyStreamNoClose(InputStream in, OutputStream out)
  6. copyStreams(final InputStream in, final OutputStream out)
  7. copyStreams(final InputStream input, final OutputStream output)
  8. copyStreams(InputStream from, OutputStream to, int blockSize)
  9. copyStreams(InputStream in, OutputStream out)