Java PushbackInputStream

PushbackInputStream向輸入流添加功能,允許使用其unread()方法推回讀取的字節。有三個版本的unread()方法。 一個讓推回一個字節,另外兩個讓推回多個字節。

示例

import java.io.FileInputStream;
import java.io.PushbackInputStream;

public class Main {
    public static void main(String[] args) {
        String srcFile = "test.txt";

        try (PushbackInputStream pis = new PushbackInputStream(new FileInputStream(srcFile))) {
            byte byteData;
            while ((byteData = (byte) pis.read()) != -1) {
                System.out.print((char) byteData);
                pis.unread(byteData);
                // Reread the byte we unread
                byteData = (byte) pis.read();
                System.out.print((char) byteData);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }
}

執行上面的示例代碼,得到如下結果 -

YYiiiibbaaii..ccoomm  BBuuffffeerreeddIInnppuuttSSttrreeaamm  UUssggee..


TThhee  LLiinnee  22....