Here you can find the source of truncate(final byte[] arr, final int len)
public static byte[] truncate(final byte[] arr, final int len) throws IllegalArgumentException
//package com.java2s; /*/*from w w w . j a v a2 s . c om*/ * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except * in compliance with the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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.util.Arrays; public class Main { /** * Returns a possibly truncated version of {@code arr} which is guaranteed to be exactly * {@code len} elements long. If {@code arr} is already exactly {@code len} elements long, then * {@code arr} is returned without copy or modification. If {@code arr} is longer than * {@code len}, then a truncated copy is returned. If {@code arr} is shorter than {@code len} * then this throws an {@link IllegalArgumentException}. */ public static byte[] truncate(final byte[] arr, final int len) throws IllegalArgumentException { if (arr.length == len) { return arr; } else if (arr.length > len) { return Arrays.copyOf(arr, len); } else { throw new IllegalArgumentException("arr is not at least " + len + " elements long"); } } }