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