Java Random Byte Array generateRandomByteArray(int length, boolean avoid, byte avoidByte)

Here you can find the source of generateRandomByteArray(int length, boolean avoid, byte avoidByte)

Description

Create an array of random bytes

License

Apache License

Parameter

Parameter Description
length The length of the created array
avoid If true, the resulting array will not contain avoidByte
avoidByte A byte that is not to be included in the resulting array

Return

an array of random bytes

Declaration

public static byte[] generateRandomByteArray(int length, boolean avoid, byte avoidByte) 

Method Source Code

//package com.java2s;
/*/*ww  w  .  jav a  2  s. co  m*/
 * Copyright 2013 Red Hat, Inc.
 *
 * Red Hat licenses this file to you 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.
 *
 */

public class Main {
    /**
     * Create an array of random bytes
     * @param length The length of the created array
     * @return the byte array
     */
    public static byte[] generateRandomByteArray(int length) {
        return generateRandomByteArray(length, false, (byte) 0);
    }

    /**
     * Create an array of random bytes
     * @param length The length of the created array
     * @param avoid If true, the resulting array will not contain avoidByte
     * @param avoidByte A byte that is not to be included in the resulting array
     * @return an array of random bytes
     */
    public static byte[] generateRandomByteArray(int length, boolean avoid, byte avoidByte) {
        byte[] line = new byte[length];
        for (int i = 0; i < length; i++) {
            byte rand;
            do {
                rand = (byte) ((int) (Math.random() * 255) - 128);
            } while (avoid && rand == avoidByte);

            line[i] = rand;
        }
        return line;
    }
}

Related

  1. generateRandomArray()
  2. generateRandomBlob()
  3. generateRandomByteArray(int length)
  4. generateRandomByteArray(int length)
  5. generateRandomByteArray(int size)
  6. generateRandomByteArray(int size, Random rnd)
  7. generateRandomBytes()
  8. generateRandomBytes(final int pSize)