Java Array Range Copy copyOf(byte[] b, int off, int len)

Here you can find the source of copyOf(byte[] b, int off, int len)

Description

Creates a copy of a section of the given byte array.

License

Apache License

Parameter

Parameter Description
b the array to copy.
off the start offset of the data within b .
len the number of bytes to copy.

Exception

Parameter Description
NullPointerException if b is null.
ArrayIndexOutOfBoundsException if the half-range [off..off+len) is not in [0..b.length).

Return

copy of the requested section of b .

Declaration

public static byte[] copyOf(byte[] b, int off, int len)
        throws NullPointerException, ArrayIndexOutOfBoundsException 

Method Source Code

//package com.java2s;
/*/*from w  w  w  .  j  av a2 s  .  c om*/
 * Copyright 2013-2016 Guardtime, Inc.
 *
 * This file is part of the Guardtime client SDK.
 *
 * 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, CONDITIONS, OR OTHER LICENSES OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 * "Guardtime" and "KSI" are trademarks or registered trademarks of
 * Guardtime, Inc., and no license to trademarks is granted; Guardtime
 * reserves and retains all trademark rights.
 */

public class Main {
    /**
     * Creates a copy of the given byte array.
     *
     * @param b
     *         the array to copy.
     * @return copy of {@code b}, or {@code null} if {@code b} is {@code null}.
     */
    public static byte[] copyOf(byte[] b) {
        if (b == null) {
            return null;
        }
        return copyOf(b, 0, b.length);
    }

    /**
     * Creates a copy of a section of the given byte array.
     *
     * @param b
     *         the array to copy.
     * @param off
     *         the start offset of the data within {@code b}.
     * @param len
     *         the number of bytes to copy.
     * @return copy of the requested section of {@code b}.
     * @throws NullPointerException
     *         if {@code b} is {@code null}.
     * @throws ArrayIndexOutOfBoundsException
     *         if the half-range {@code [off..off+len)} is not in {@code [0..b.length)}.
     */
    public static byte[] copyOf(byte[] b, int off, int len)
            throws NullPointerException, ArrayIndexOutOfBoundsException {

        if (b == null) {
            throw new NullPointerException();
        }
        if (off < 0 || len < 0 || off > b.length - len) {
            throw new ArrayIndexOutOfBoundsException();
        }
        byte[] copy = new byte[len];
        System.arraycopy(b, off, copy, 0, len);
        return copy;
    }
}

Related

  1. copyOf(boolean[] array, int length)
  2. copyOf(byte[] arr, int newLength)
  3. copyOf(byte[] b)
  4. copyOf(byte[] b, int off, int len)
  5. copyOf(byte[] bytes)
  6. copyOf(byte[] bytes, int startIndex, int length)
  7. copyOf(byte[] original, int newLength)
  8. copyOf(byte[] original, int newLength)