java.io.PushbackInputStream.unread(byte[] b,int off,int len)方法實例
java.io.PushbackInputStream.unread(byte[] b,int off,int len) 方法是將其複製到推回緩衝區的前麵推回一個字節數組的一部分。此方法返回後,下一個字節被讀取 b[off]的值,其後的字節的b[off +1],依此類推。
聲明
以下是java.io.PushbackInputStream.unread()方法的聲明
public void unread(byte[] b,int off,int len)
參數
-
b -- 推回的字節數組
-
off -- 該數據的起始偏移量。
-
len -- 推回的字節數。
返回值
此方法不返回任何值。
異常
-
IOException -- 如果冇有足夠的空間供中指定的字節數,或者該輸入流推回緩衝區已經被關閉通過調用它的close()方法。
例子
下麵的示例演示java.io.PushbackInputStream.unread()方法的用法。
package com.yiibai; import java.io.*; public class PushbackInputStreamDemo { public static void main(String[] args) { // declare a buffer and initialize its size: byte[] arrByte = new byte[1024]; // create an array for our message byte[] byteArray = new byte[]{'H', 'e', 'l', 'l', 'o',}; // create object of PushbackInputStream class for specified stream InputStream is = new ByteArrayInputStream(byteArray); PushbackInputStream pis = new PushbackInputStream(is, 10); try { // read from the buffer one character at a time for (int i = 0; i < byteArray.length; i++) { // read a char into our array arrByte[i] = (byte) pis.read(); // display the read byte System.out.print((char) arrByte[i]); } // change line System.out.println(); // create a new byte array to be unread byte[] b = {'W', 'o', 'r', 'l', 'd'}; // unread the byte array pis.unread(b, 2, 3); // read again from the buffer one character at a time for (int i = 0; i < 3; i++) { // read a char into our array arrByte[i] = (byte) pis.read(); // display the read byte System.out.print((char) arrByte[i]); } } catch (Exception ex) { ex.printStackTrace(); } } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
Hello rld