Java InputStream Read Bytes readBytes(InputStream in, byte[] data, int offset, int length)

Here you can find the source of readBytes(InputStream in, byte[] data, int offset, int length)

Description

read Bytes

License

Apache License

Declaration

public static int readBytes(InputStream in, byte[] data, int offset, int length) throws IOException 

Method Source Code

//package com.java2s;
/*/* ww  w  .j a  va 2s. c om*/
 * JEF - Copyright 2009-2010 Jiyi (mr.jiyi@gmail.com)
 *
 * 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;

public class Main {

    public static int readBytes(InputStream in, byte[] data, int offset, int length) throws IOException {
        if (length < 0)
            throw new IOException(
                    "This method just for reading bytes of a expected length from stream.The param  length must >=0");
        if (length == 0)
            return 0;
        if (offset + length > data.length) {
            throw new IOException("the container byte[] does not enough for the expected length.");
        }
        int left = length;
        int off = offset;
        while (left > 0) {
            int n;
            n = in.read(data, off, left);
            if (n == -1)
                break;
            left -= n;
            off += n;
        }
        return off - offset;
    }
}

Related

  1. readBytes(InputStream in, boolean forceClose)
  2. readBytes(InputStream in, byte[] b)
  3. readBytes(InputStream in, byte[] buf, int length)
  4. readBytes(InputStream in, byte[] buffer)
  5. readBytes(InputStream in, byte[] buffer, int maxBytesAtOnce)
  6. readBytes(InputStream in, int bufferSize, boolean forceClose)
  7. readBytes(InputStream in, int bytesToRead, byte[] buffer, int bufferOffset)
  8. readBytes(InputStream in, int expectedBytes, long timeoutMs)
  9. readBytes(InputStream in, int len, boolean isLE)