Java InputStream to Byte Array getBytes(InputStream in)

Here you can find the source of getBytes(InputStream in)

Description

get Bytes

License

Apache License

Declaration

private static byte[] getBytes(InputStream in) throws IOException 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2013 Johns Hopkins University
 * /*from   w  ww  . j av a2 s .c o m*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

import java.io.IOException;
import java.io.InputStream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {
    private static byte[] getBytes(InputStream in) throws IOException {
        List<byte[]> chunks = new ArrayList<byte[]>();
        int sum = 0;
        while (true) {
            byte[] chunk = new byte[1024];
            int n = in.read(chunk);
            // if n == 0, was it a stall?  We'll keep going.
            if (n < 0)
                break;
            else if (n > 0) {
                sum += n;
                // make sure all chunks are all the way full
                if (n < chunk.length)
                    chunk = Arrays.copyOf(chunk, n);
                chunks.add(chunk);
            }
        }
        byte[] result = new byte[sum];
        int n = 0;
        for (byte[] chunk : chunks) {
            System.arraycopy(chunk, 0, result, n, chunk.length);
            n += chunk.length;
        }
        return result;
    }
}

Related

  1. fread(short[] data, int length, InputStream fp)
  2. getBytes(InputStream attachment)
  3. getBytes(InputStream fis)
  4. getBytes(InputStream in)
  5. getBytes(InputStream in)
  6. getBytes(InputStream in)
  7. getBytes(InputStream in)
  8. getBytes(InputStream in, int length, int BUF_SIZE)
  9. getBytes(InputStream in, OutputStream out)