📌  相关文章
📜  Java中的 PushbackInputStream mark() 方法及示例

📅  最后修改于: 2022-05-13 01:55:34.413000             🧑  作者: Mango

Java中的 PushbackInputStream mark() 方法及示例

Java中PushbackInputStream类的mark()方法用于标记输入流中的当前位置。此方法对 PushbackInputStream 没有任何作用。

句法:

public void mark(int readlimit)

覆盖:此方法覆盖FilterInputStream类的 mark() 方法。

参数:此方法接受单个参数readlimit ,表示在标记位置无效之前可以读取的最大字节数限制。

返回值:此方法不返回任何值。

异常:此方法不会抛出任何异常。

下面的程序说明了 IO 包中 PushbackInputStream 类的 mark() 方法:

方案一:

// Java program to illustrate
// PushbackInputStream mark() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E',
                           'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        for (int i = 0; i < byteArray.length; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
  
        // Revoke mark() but it does nothing
        pushbackInputStr.mark(5);
    }
}
输出:
GEEKS

方案二:

// Java program to illustrate
// PushbackInputStream mark() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'H', 'E', 'L',
                           'L', 'O' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Revoke mark()
        pushbackInputStr.mark(1);
  
        for (int i = 0; i < byteArray.length; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
    }
}
输出:
HELLO

参考:
https://docs.oracle.com/javase/10/docs/api/java Java)