鍍金池/ 教程/ Java/ Java PushbackInputStream
Java文件屬性
Java FilePermission示例
Java Externalizable實例
Java文件操作
Java文件鎖
Java文件系統(tǒng)
Java異步I/O
Java Reader/Writer
Java File實例
Java FileReader示例
Java控制臺
Java文件所有者權(quán)限
Java通道
Java ByteArrayOutputStream示例
BufferedOutputStream示例
Java FileInputStream示例
Java DataInputStream
Java BufferedInputStream
Java Jar Manifest
Java Console類示例
BufferedWriter示例
Java輸入/輸出教程
Java對象序列化
Java文件教程
Java DataInputStream類型
Java Zip字節(jié)數(shù)組
Java FileWriter示例
FileOutputStream示例
Java PrintStream
Java Scanner類
BufferedInputStream示例
Java字符集
ByteArrayInputStream示例
Java路徑操作
Java DataOutputStream
Java符號鏈接
Java FilterWriter示例
Java Jar API
BufferedReader實例
Java Pipe(管道)
Java jar文件
Java CharArrayReader示例
Java CharArrayWriter示例
Java PushbackInputStream
Java FilterReader示例
Java zip文件
Java InputStream
Java標準輸入/輸出/錯誤流
Java文件內(nèi)容和讀寫
Java FilterInputStream示例
Java內(nèi)存通道
Java路徑
Java令牌和字符串拆分
Java隨機訪問文件
Java文件樹
Java緩沖區(qū)讀寫
Java FileOutputStream
Java目錄事件
Java FilterOutputStream示例
Java DataOutputStream實例
FileDescriptor示例

Java PushbackInputStream

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

示例

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();
        }
    }
}

執(zhí)行上面的示例代碼,得到如下結(jié)果 -

YYiiiibbaaii..ccoomm  BBuuffffeerreeddIInnppuuttSSttrreeaamm  UUssggee..


TThhee  LLiinnee  22....