Open In App

Buffer limit() methods in Java with Examples

Last Updated : 16 Jul, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The limit() method of java.nio.Buffer 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 Buffer limit(int newLimit)

Return Value: This method returns this buffer.

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

Examples 1:




// 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);
  
        // Typecast byteBuffer to buffer
        Buffer buffer = (Buffer)byteBuffer;
  
        // print the byte buffer
        System.out.println("Buffer before operation: "
                           + Arrays.toString(
                                 (byte[])buffer.array())
                           + "\nPosition: "
                           + buffer.position()
                           + "\nLimit: "
                           + buffer.limit());
  
        // Limit the Buffer
        // using limit() method
        buffer.limit(1);
  
        // print the buffer
        System.out.println("\nBuffer after operation: "
                           + Arrays.toString(
                                 (byte[])buffer.array())
                           + "\nPosition: "
                           + buffer.position()
                           + "\nLimit: "
                           + buffer.limit());
    }
}


Output:

Buffer before operation: [20, 30, 0, 0]
Position: 2
Limit: 4

Buffer after operation: [20, 30, 0, 0]
Position: 1
Limit: 1

Examples 2:




// 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);
  
        // Typecast byteBuffer to buffer
        Buffer buffer = (Buffer)byteBuffer;
  
        // mark will be going to discarded by limit()
        buffer.mark();
  
        // print the buffer
        System.out.println("Buffer before operation: "
                           + Arrays.toString(
                                 (byte[])buffer.array())
                           + "\nPosition: "
                           + buffer.position()
                           + "\nLimit: "
                           + buffer.limit());
  
        // Limit the Buffer
        // using limit() method
        buffer.limit(4);
  
        // print the buffer
        System.out.println("\nBuffer after operation: "
                           + Arrays.toString(
                                 (byte[])buffer.array())
                           + "\nPosition: "
                           + buffer.position()
                           + "\nLimit: "
                           + buffer.limit());
    }
}


Output:

Buffer before operation: [20, 30, 40, 0, 0]
Position: 3
Limit: 5

Buffer after operation: [20, 30, 40, 0, 0]
Position: 3
Limit: 4

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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads