JavaTM 2 Platform
Standard Ed. 6

java.io
類別 CharArrayReader

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

public class CharArrayReader
extends Reader

此類別實作一個可用作字元輸入串流的字元緩衝區。

從以下版本開始:
JDK1.1

欄位摘要
protected  char[] buf
          字元緩衝區。
protected  int count
          此緩衝區結尾處的索引。
protected  int markedPos
          緩衝區中標記的位置。
protected  int pos
          當前緩衝區位置。
 
從類別 java.io.Reader 繼承的欄位
lock
 
建構子摘要
CharArrayReader(char[] buf)
          根據指定的 char 陣列創建一個 CharArrayReader。
CharArrayReader(char[] buf, int offset, int length)
          根據指定的 char 陣列創建一個 CharArrayReader。
 
方法摘要
 void close()
          關閉該串流並釋放與之關聯的所有系統資源。
 void mark(int readAheadLimit)
          標記串流中的當前位置。
 boolean markSupported()
          判斷此串流是否支持 mark() 操作(它一定支持)。
 int read()
          讀取單個字元。
 int read(char[] b, int off, int len)
          將字元讀入陣列的某一部分。
 boolean ready()
          判斷此串流是否已準備好被讀取。
 void reset()
          將該串流重置為最新的標記,如果從未標記過,則將其重置到開頭。
 long skip(long n)
          跳過字元。
 
從類別 java.io.Reader 繼承的方法
read, read
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

buf

protected char[] buf
字元緩衝區。


pos

protected int pos
當前緩衝區位置。


markedPos

protected int markedPos
緩衝區中標記的位置。


count

protected int count
此緩衝區結尾處的索引。在此索引及其以後的位置處沒有有效資料。

建構子詳細資訊

CharArrayReader

public CharArrayReader(char[] buf)
根據指定的 char 陣列創建一個 CharArrayReader。

參數:
buf - 輸入緩衝區(不是複製得到的)

CharArrayReader

public CharArrayReader(char[] buf,
                       int offset,
                       int length)
根據指定的 char 陣列創建一個 CharArrayReader。

得到的 reader 將從給定的 offset 處開始讀取。可從此 reader 中讀取的 char 值總數是 lengthbuf.length-offset,取其中的較小者。

參數:
buf - 輸入緩衝區(不是複製得到的)
offset - 要讀取的第一個 char 的偏移量
length - 要讀取的 char 數目
拋出:
IllegalArgumentException - 如果 offset 為負或大於 buf.length,或者 length 為負,或者這兩個值的和為負。
方法詳細資訊

read

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

覆寫:
類別 Reader 中的 read
返回:
作為整數讀取的字元,範圍在 0 到 65535 之間 (0x00-0xffff),如果已到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

read

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

指定者:
類別 Reader 中的 read
參數:
b - 目標緩衝區
off - 開始存儲字元處的偏移量
len - 要讀取的最大字元數
返回:
讀取的實際字元數;如果到達串流末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

skip

public long skip(long n)
          throws IOException
跳過字元。返回跳過的字元數。

n 參數可以為負數,儘管 Reader 父級類別的 skip 方法在此情況下會拋出一個異常。如果 n 為負數,則此方法不執行任何操作並返回 0

覆寫:
類別 Reader 中的 skip
參數:
n - 要跳過的字元數
返回:
已跳過的實際字元數
拋出:
IOException - 如果串流已關閉,或者發生 I/O 錯誤

ready

public boolean ready()
              throws IOException
判斷此串流是否已準備好被讀取。Character-array reader 總是準備好被讀取。

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

markSupported

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

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

mark

public void mark(int readAheadLimit)
          throws IOException
標記串流中的當前位置。對 reset() 的後續調用會將該串流重新定位到此點。

覆寫:
類別 Reader 中的 mark
參數:
readAheadLimit - 在仍保留該標記的情況下,對可讀取字元數量的限制。因為該串流的輸入來自字元陣列,沒有實際的限制;所以忽略此參數。
拋出:
IOException - 如果發生 I/O 錯誤

reset

public void reset()
           throws IOException
將該串流重置為最新的標記,如果從未標記過,則將其重置到開頭。

覆寫:
類別 Reader 中的 reset
拋出:
IOException - 如果發生 I/O 錯誤

close

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

指定者:
介面 Closeable 中的 close
指定者:
類別 Reader 中的 close

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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