JavaTM 2 Platform
Standard Ed. 6

java.io
類別 StringReader

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

public class StringReader
extends Reader

其源為一個字元串的字元串流。

從以下版本開始:
JDK1.1

欄位摘要
 
從類別 java.io.Reader 繼承的欄位
lock
 
建構子摘要
StringReader(String s)
          創建一個新字元串 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 ns)
          跳過串流中指定數量的字元。
 
從類別 java.io.Reader 繼承的方法
read, read
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

StringReader

public StringReader(String s)
創建一個新字元串 reader。

參數:
s - 提供字元串流的字元串。
方法詳細資訊

read

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

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

read

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

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

skip

public long skip(long ns)
          throws IOException
跳過串流中指定數量的字元。返回跳過的字元數。

ns 參數可能為負數,即便 Reader 父級類別的 skip 方法在此情況下會拋出一個異常。ns 為負值導致此串流向後跳讀。負返回值指示向後跳讀。向後跳讀不可能超過字元串的開頭。

如果讀取或跳讀了整個字元串,則此方法無效且始終返回 0。

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

ready

public boolean ready()
              throws IOException
判斷此串流是否已經準備好用於讀取。

覆寫:
類別 Reader 中的 ready
返回:
如果保證下一個 read() 不阻塞輸入,則返回 True
拋出:
IOException - 如果該串流已關閉

markSupported

public boolean markSupported()
判斷此串流是否支持 mark() 操作以及支持哪一項操作。

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

mark

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

覆寫:
類別 Reader 中的 mark
參數:
readAheadLimit - 在仍保留該標記的情況下,對可讀取字元數量的限制。由於該串流的輸入來自一個字元串,不存在實際的限制,因此,此參數決不能為負數,否則將被忽略。
拋出:
IllegalArgumentException - 如果 readAheadLimit < 0
IOException - 如果發生 I/O 錯誤

reset

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

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

close

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

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

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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