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