Java Buffer position()方法及示例

来源:这里教程网 时间:2026-02-17 20:37:16 作者:

Java Buffer position()方法及示例

java.nio.Buffer类position(int newPosition) 方法是用来设置这个缓冲区的位置。如果标记被定义并且大于新的位置,那么它将被丢弃。

语法

public Buffer position(int newPosition)

参数。该方法以newPosition为参数,是新的位置值。它必须是非负值,并且不大于当前的限制。

返回值: 该方法返回这个缓冲区。

下面是说明 position() 方法的例子。

例子 1 :

// Java program to demonstrate// position() 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);          // Typecasting ByteBuffer into Buffer        Buffer bb1 = (Buffer)bb;          // try to set the position at index 2        // using position() method        bb1.position(2);          // Set this buffer mark position        bb1.mark();          // try to set the position at index 4        // using position() method        bb1.position(4);          // display position        System.out.println("position before reset: "                           + bb.position());          // try to call reset() to restore        // to the position we marked        bb1.reset();          // display position        System.out.println("position after reset: "                           + bb1.position());    }}

输出:

position before reset: 4position after reset: 2

例子 2 :

// Java program to demonstrate// position() method  import java.nio.*;import java.util.*;  public class GFG {      public static void main(String[] args)    {        // creating object of ByteBuffer        // and allocating size capacity        ByteBuffer bb = ByteBuffer.allocate(4);          // Typecasting ByteBuffer into Buffer        Buffer bb1 = (Buffer)bb;          // try to set the position at index 1        // using position() method        bb1.position(3);          // display position        System.out.println("position before clear: "                           + bb1.position());          // try to clear the Buffer        // using clear() method        bb1.clear();          // display position        System.out.println("position after clear: "                           + bb1.position());    }}

输出:

position before clear: 3position after clear: 0

参考资料: https://docs.oracle.com/javase/9/docs/api/java/nio/Buffer.html#position-int-

相关推荐