Java Random.nextBytes() – Examples

In this tutorial, we will learn about the Java Random.nextBytes() method, and learn how to use this method to generate random bytes in a given byte array, with the help of examples.

nextBytes(byte[] bytes)

Random.nextBytes() generates random bytes and places them into a user-supplied byte array.

Syntax

The syntax of nextBytes() method is

</>
Copy
Random.nextBytes(byte[] bytes)

where

ParameterDescription
bytesThe byte array to fill with random bytes.

Returns

The method returns void.

Example 1 – nextBytes(bytes)

In this example, we will create an object random of Random class type and a an empty byte array of size 10. We will call nextBytes() on this Random object and pass the empty byte array to the method as argument. The method loads this byte array with the randomly generated bytes.

Java Program

</>
Copy
import java.util.Random;

public class Example{ 
    public static void main(String[] args) {
    	Random random = new Random();
    	byte[] bytes = new byte[10];
    	random.nextBytes(bytes);
    	System.out.println("Random bytes : ");
    	for(byte b: bytes) {
    		System.out.println(b);
    	}
    }
}

Output

Random bytes : 
-61
91
69
107
-128
-69
-42
107
53
-102

Output may vary, since the bytes are generated randomly.

Example 2 – nextBytes(bytes) – bytes = null

In this example, we will take a null byte array and pass this as arguemnt to nextBytes(). Since bytes array is null, nextBytes() should throw java.lang.NullPointerException.

Java Program

</>
Copy
import java.util.Random;

public class Example{ 
    public static void main(String[] args) {
    	Random random = new Random();
    	byte[] bytes = null;
    	random.nextBytes(bytes);
    	for(byte b: bytes) {
    		System.out.println(b);
    	}
    }
}

Output

Exception in thread "main" java.lang.NullPointerException
	at java.base/java.util.Random.nextBytes(Unknown Source)
	at Example.main(Example.java:7)

Conclusion

In this Java Tutorial, we have learnt the syntax of Java Random.nextBytes() method, and also learnt how to use this method with the help of examples.