Métodos de límite de búfer() en Java con ejemplos

El método limit() de java.nio.Buffer Class se usa para establecer el límite de este búfer. Si la posición es mayor que el nuevo límite, se establece en el nuevo límite. Si la marca está definida y es mayor que el nuevo límite, se descarta.

Sintaxis:

public Buffer limit(int newLimit)

Valor devuelto: este método devuelve este búfer.

A continuación se muestran los ejemplos para ilustrar el método limit():

Ejemplos 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());
    }
}
Producción:

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

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

Ejemplos 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());
    }
}
Producción:

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

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

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

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *