Métodos ByteBuffer clear() en Java con ejemplos

El método clear() de java.nio.ByteBuffer Class se utiliza para borrar este búfer. La posición se establece en cero, el límite se establece en la capacidad y la marca se descarta. Invoque este método antes de usar una secuencia de operaciones de lectura o colocación de canal para llenar este búfer.

Por ejemplo:

 
buf.clear();     // Prepare buffer for reading
in.read(buf);    // Read data

Este método en realidad no borra los datos en el búfer, pero se nombra como si lo hiciera porque se usará con mayor frecuencia en situaciones en las que ese podría ser el caso.

Sintaxis:

public ByteBuffer clear()

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

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

Ejemplos 1:

// Java program to demonstrate
// clear() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        try {
  
            byte[] barr = { 10, 20, 30, 40 };
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.wrap(barr);
  
            // try to set the position at index 2
            bb.position(2);
  
            // Set this buffer mark position
            // using mark() method
            bb.mark();
  
            // try to set the position at index 4
            bb.position(4);
  
            // display position
            System.out.println("position before reset: "
                               + bb.position());
  
            // try to call clear() to restore
            // to the position at index 0
            // by discarding the mark
            bb.clear();
  
            // display position
            System.out.println("position after reset: "
                               + bb.position());
        }
  
        catch (InvalidMarkException e) {
            System.out.println("new position is less than "
                               + "the position we marked before ");
            System.out.println("Exception throws: " + e);
        }
    }
}
Producción:

position before reset: 4
position after reset: 0

Ejemplos 2:

// Java program to demonstrate
// clear() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        byte[] barr = { 10, 20, 30, 40 };
  
        // creating object of ByteBuffer
        // and allocating size capacity
        ByteBuffer bb = ByteBuffer.wrap(barr);
  
        // try to set the position at index 2
        bb.position(3);
  
        // display position
        System.out.println("position before clear: "
                           + bb.position());
  
        // try to call clear() to restore
        // to the position at index 0
        // by discarding the mark
        bb.clear();
  
        // display position
        System.out.println("position after clear: "
                           + bb.position());
    }
}
Producción:

position before clear: 3
position after clear: 0

Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#clear–

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 *