📌  相关文章
📜  Java中的 PushbackReader mark(int) 方法和示例

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

Java中的 PushbackReader mark(int) 方法和示例

Java中PushbackReader类mark()方法用于标记PushbackReader的当前位置。对于 PushbackReader,此方法始终会引发异常,因为 PushbackReader 不支持此方法。

句法:

public void mark(int readAheadLimit)

参数:此方法接受一个强制参数readAheadLimit ,它是在仍保留标记的同时可以读取的字符数的限制。读完这么多字符后,尝试重置流可能会失败。

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

异常:此方法总是抛出 IOException,因为不支持 mark() 方法。

以下方法说明了 mark() 方法的工作原理:

方案一:

// Java program to demonstrate
// PushbackReader mark(int) method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
            // Initializing a StringReader and PushbackReader
            String s = "GeeksForGeeks";
  
            StringReader stringReader
                = new StringReader(s);
            PushbackReader pushbackReader
                = new PushbackReader(stringReader);
  
            // mark the stream for
            // 5 characters using mark()
            pushbackReader.mark(5);
  
            // Close the stream using mark(int)
            pushbackReader.close();
            System.out.println("Stream Closed.");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
java.io.IOException: mark/reset not supported

方案二:

// Java program to demonstrate
// PushbackReader mark(int) method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
            // Initializing a StringReader and PushbackReader
            String s = "GFG";
  
            StringReader stringReader
                = new StringReader(s);
            PushbackReader pushbackReader
                = new PushbackReader(stringReader);
  
            // mark the stream for
            // 1 characters using mark()
            pushbackReader.mark(1);
  
            // Close the stream
            pushbackReader.close();
            System.out.println("Stream Closed.");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
java.io.IOException: mark/reset not supported

参考: https://docs.oracle.com/javase/9/docs/api/ Java/io/PushbackReader.html#mark-int-