Buffer clear() métodos 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 Buffer clear()

Valor de retorno: 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);
  
            // Typecasting ByteBuffer into Buffer
            Buffer bb1 = (Buffer)bb;
  
            // try to set the position at index 2
            bb1.position(2);
  
            // Set this buffer mark position
            // using mark() method
            bb1.mark();
  
            // try to set the position at index 4
            bb1.position(4);
  
            // display position
            System.out.println("position before reset: "
                               + bb1.position());
  
            // try to call clear() to restore
            // to the position at index 0
            // by discarding the mark
            bb1.clear();
  
            // display position
            System.out.println("position after reset: "
                               + bb1.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)
    {
  
        try {
  
            byte[] barr = { 10, 20, 30, 40 };
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.wrap(barr);
  
            // Typecasting ByteBuffer into Buffer
            Buffer bb1 = (Buffer)bb;
  
            // try to set the position at index 2
            bb1.position(3);
  
            // display position
            System.out.println("position before clear: "
                               + bb1.position());
  
            // try to call clear() to restore
            // to the position at index 0
            // by discarding the mark
            bb1.clear();
  
            // display position
            System.out.println("position after clear: "
                               + bb1.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 clear: 3
position after clear: 0

Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/Buffer.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 *