JavaTM 2 Platform
Standard Ed. 6

java.io
類別 PushbackReader

java.lang.Object
  繼承者 java.io.Reader
      繼承者 java.io.FilterReader
          繼承者 java.io.PushbackReader
所有已實作的介面:
Closeable, Readable

public class PushbackReader
extends FilterReader

允許將字元推回到串流的字元串流 reader。

從以下版本開始:
JDK1.1

欄位摘要
 
從類別 java.io.FilterReader 繼承的欄位
in
 
從類別 java.io.Reader 繼承的欄位
lock
 
建構子摘要
PushbackReader(Reader in)
          創建具有單字元推回緩衝區的新推回 reader。
PushbackReader(Reader in, int size)
          創建具有給定大小推回緩衝區的新推回 reader。
 
方法摘要
 void close()
          關閉該串流並釋放與之關聯的所有系統資源。
 void mark(int readAheadLimit)
          標記串流中的當前位置。
 boolean markSupported()
          判斷此串流是否支持 mark() 操作(它一定不支持)。
 int read()
          讀取單個字元。
 int read(char[] cbuf, int off, int len)
          將字元讀入陣列的某一部分。
 boolean ready()
          判斷是否準備讀取此串流。
 void reset()
          重置該串流。
 long skip(long n)
          跳過字元。
 void unread(char[] cbuf)
          推回一個字元陣列,方法是將其複製到推回緩衝區前面。
 void unread(char[] cbuf, int off, int len)
          推回字元陣列的某一部分,方法是將其複製到推回緩衝區的前面。
 void unread(int c)
          推回單個字元:將其複製到推回緩衝區的前面。
 
從類別 java.io.Reader 繼承的方法
read, read
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

PushbackReader

public PushbackReader(Reader in,
                      int size)
創建具有給定大小推回緩衝區的新推回 reader。

參數:
in - 將從中讀取字元的 reader
size - 推回緩衝區的大小
拋出:
IllegalArgumentException - 如果 size <= 0

PushbackReader

public PushbackReader(Reader in)
創建具有單字元推回緩衝區的新推回 reader。

參數:
in - 將從中讀取字元的 reader
方法詳細資訊

read

public int read()
         throws IOException
讀取單個字元。

覆寫:
類別 FilterReader 中的 read
返回:
讀取的字元,如果已到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
將字元讀入陣列的某一部分。

覆寫:
類別 FilterReader 中的 read
參數:
cbuf - 目標緩衝區
off - 開始寫入字元處的偏移量
len - 要讀取的最多字元數
返回:
讀取的字元數,如果已到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

unread

public void unread(int c)
            throws IOException
推回單個字元:將其複製到推回緩衝區的前面。在返回此方法後,要讀取的下一個字元將具有值 (char)c

參數:
c - int 值,表示要被推回的字元
拋出:
IOException - 如果推回緩衝區已滿,或者發生一些其他 I/O 錯誤

unread

public void unread(char[] cbuf,
                   int off,
                   int len)
            throws IOException
推回字元陣列的某一部分,方法是將其複製到推回緩衝區的前面。在返回此方法後,要讀取的下一個字元將具有值 cbuf[off],其後的位元組將具有值 cbuf[off+1],依次類別推。

參數:
cbuf - 字元陣列
off - 要推回的第一個字元的偏移量
len - 要推回的字元數
拋出:
IOException - 如果推回緩衝區中沒有足夠的空間,或者發生一些其他 I/O 錯誤

unread

public void unread(char[] cbuf)
            throws IOException
推回一個字元陣列,方法是將其複製到推回緩衝區前面。在返回此方法後,要讀取的下一個字元將具有值 cbuf[0],其後的位元組將具有值 cbuf[1],依次類別推。

參數:
cbuf - 要推回的字元陣列
拋出:
IOException - 如果推回緩衝區中沒有足夠的空間,或者發生一些其他 I/O 錯誤

ready

public boolean ready()
              throws IOException
判斷是否準備讀取此串流。

覆寫:
類別 FilterReader 中的 ready
返回:
如果保證下一個 read() 不阻塞輸入,則返回 True,否則返回 false。注意,返回 false 並不保證阻塞下一次讀取。
拋出:
IOException - 如果發生 I/O 錯誤

mark

public void mark(int readAheadLimit)
          throws IOException
標記串流中的當前位置。類別 PushbackReadermark 始終拋出異常。

覆寫:
類別 FilterReader 中的 mark
參數:
readAheadLimit - 在仍保留該標記的情況下,對可讀取字元數量的限制。在讀取這樣多的字元後,嘗試重置串流可能會失敗。
拋出:
IOException - 始終拋出,原因是不支持標記功能

reset

public void reset()
           throws IOException
重置該串流。PushbackReaderreset 方法始終拋出異常。

覆寫:
類別 FilterReader 中的 reset
拋出:
IOException - 始終拋出,原因是不支持重置功能

markSupported

public boolean markSupported()
判斷此串流是否支持 mark() 操作(它一定不支持)。

覆寫:
類別 FilterReader 中的 markSupported
返回:
當且僅當此串流支持此 mark 操作時,返回 true。

close

public void close()
           throws IOException
關閉該串流並釋放與之關聯的所有系統資源。在關閉串流後,再調用 read()、unread()、ready() 或 skip() 將拋出 IOException。關閉以前關閉的串流無效。

指定者:
介面 Closeable 中的 close
覆寫:
類別 FilterReader 中的 close
拋出:
IOException - 如果發生 I/O 錯誤

skip

public long skip(long n)
          throws IOException
跳過字元。在一些字元可用、發生 I/O 錯誤或者到達串流的末尾前,此方法一直阻塞。

覆寫:
類別 FilterReader 中的 skip
參數:
n - 要跳過的字元數
返回:
實際跳過的字元數
拋出:
IllegalArgumentException - 如果 n 為負。
IOException - 如果發生 I/O 錯誤

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only