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....