Friday, January 30, 2026
HomeLanguagesJavaByteBuffer limit() methods in Java with Examples

ByteBuffer limit() methods in Java with Examples

The limit() method of java.nio.ByteBuffer Class is used to set this buffer’s limit. If the position is larger than the new limit then it is set to the new limit. If the mark is defined and larger than the new limit then it is discarded. 

Syntax:

public ByteBuffer limit(int newLimit)

Return Value: This method returns this buffer. 

Below are the examples to illustrate the limit() method: 

Examples 1: 

Java




// Java program to demonstrate
// limit() method
 
import java.nio.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // defining and allocating ByteBuffer
        // using allocate() method
        ByteBuffer byteBuffer = ByteBuffer.allocate(4);
 
        // put byte value in byteBuffer
        // using put() method
        byteBuffer.put((byte)20);
        byteBuffer.put((byte)30);
 
        // print the byte buffer
        System.out.println("ByteBuffer before compact: "
                           + Arrays.toString(byteBuffer.array())
                           + "\nPosition: " + byteBuffer.position()
                           + "\nLimit: " + byteBuffer.limit());
 
        // Limit the byteBuffer
        // using limit() method
        byteBuffer.limit(1);
 
        // print the byte buffer
        System.out.println("\nByteBuffer after compact: "
                           + Arrays.toString(byteBuffer.array())
                           + "\nPosition: " + byteBuffer.position()
                           + "\nLimit: " + byteBuffer.limit());
    }
}


Output:

ByteBuffer before compact: [20, 30, 0, 0]
Position: 2
Limit: 4

ByteBuffer after compact: [20, 30, 0, 0]
Position: 1
Limit: 1

Examples 2: 

Java




// Java program to demonstrate
// limit() method
 
import java.nio.*;
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // defining and allocating ByteBuffer
        // using allocate() method
        ByteBuffer byteBuffer = ByteBuffer.allocate(5);
 
        // put byte value in byteBuffer
        // using put() method
        byteBuffer.put((byte)20);
        byteBuffer.put((byte)30);
        byteBuffer.put((byte)40);
 
        // mark will be going to discarded by limit()
        byteBuffer.mark();
 
        // print the byte buffer
        System.out.println("ByteBuffer before compact: "
                           + Arrays.toString(byteBuffer.array())
                           + "\nPosition: " + byteBuffer.position()
                           + "\nLimit: " + byteBuffer.limit());
 
        // Limit the byteBuffer
        // using limit() method
        byteBuffer.limit(4);
 
        // print the byte buffer
        System.out.println("\nByteBuffer after compact: "
                           + Arrays.toString(byteBuffer.array())
                           + "\nPosition: " + byteBuffer.position()
                           + "\nLimit: " + byteBuffer.limit());
    }
}


Output:

ByteBuffer before compact: [20, 30, 40, 0, 0]
Position: 3
Limit: 5

ByteBuffer after compact: [20, 30, 40, 0, 0]
Position: 3
Limit: 4

Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#limit-int-

RELATED ARTICLES

Most Popular

Dominic
32478 POSTS0 COMMENTS
Milvus
122 POSTS0 COMMENTS
Nango Kala
6849 POSTS0 COMMENTS
Nicole Veronica
11978 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12065 POSTS0 COMMENTS
Shaida Kate Naidoo
6986 POSTS0 COMMENTS
Ted Musemwa
7222 POSTS0 COMMENTS
Thapelo Manthata
6934 POSTS0 COMMENTS
Umr Jansen
6917 POSTS0 COMMENTS