鴻蒙OS CharArrayReader

2022-10-18 15:47 更新

CharArrayReader

java.lang.Object

|---java.io.Reader

|---|---java.io.CharArrayReader

  1. public class CharArrayReader
  2. extends Reader

此類實現(xiàn)了一個可用作字符輸入流的字符緩沖區(qū)。

Since:

JDK1.1

字段摘要

修飾符和類型 字段 描述
protected char[] buf 字符緩沖區(qū)。
protected int count 此緩沖區(qū)結束的索引。
protected int markedPos 緩沖區(qū)中標記的位置。
protected int pos 當前緩沖區(qū)位置。
從類 java.io.Reader 繼承的字段
lock

構造函數(shù)摘要

構造函數(shù) 描述
CharArrayReader(char[] buf) 從指定的字符數(shù)組創(chuàng)建一個 CharArrayReader。
CharArrayReader(char[] buf, int offset, int length) 從指定的字符數(shù)組創(chuàng)建一個 CharArrayReader。

方法總結

修飾符和類型 方法 描述
void close() 關閉流并釋放與其關聯(lián)的任何系統(tǒng)資源。
void mark(int readAheadLimit) 標記流中的當前位置。
boolean markSupported() 告訴這個流是否支持 mark() 操作,它支持。
int read() 讀取單個字符。
int read(char[] b, int off, int len) 將字符讀入數(shù)組的一部分。
boolean ready() 告訴這個流是否準備好被讀取。
void reset() 將流重置為最新標記,如果從未標記,則重置為開頭。
long skip(long n) 跳過字符。
從java.lang.Object類繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從java.io.Reader類繼承的方法
read, read

字段詳細信息

buf

protected char[] buf

字符緩沖區(qū)。

count

protected int count

該緩沖區(qū)結束的索引。在這個索引處或之后沒有有效的數(shù)據(jù)。

markedPos

protected int markedPos

標記在緩沖區(qū)的位置。

pos

protected int pos

當前的緩沖區(qū)位置。

構造函數(shù)詳細信息

CharArrayReader

public CharArrayReader(char[] buf)

從指定的字符數(shù)組中創(chuàng)建一個CharArrayReader。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 輸入緩沖區(qū)(未被復制)

CharArrayReader

public CharArrayReader(char[] buf, int offset, int length)

從指定的字符數(shù)組中創(chuàng)建一個CharArrayReader。

生成的讀取器將從給定的偏移量開始讀取??梢詮倪@個讀取器中讀取的char值的總數(shù)將是length或buf.length-offset,以小者為準。

參數(shù):

參數(shù)名稱 參數(shù)描述
buf 輸入緩沖區(qū)(未被復制)
offset 要讀取的第一個字符的偏移量
length 要讀取的字符數(shù)

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果offset為負數(shù)或大于buf.length,或者length為負數(shù),或者這兩個值的總和為負數(shù)。

方法詳情

read

public int read() throws IOException

讀取單個字符。

重寫:

讀取在Reader類中

返回:

讀取的字符,為0-65535(0x00-0xffff)范圍內(nèi)的整數(shù),如果已經(jīng)到達流的末端,則為-1。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生I/O錯誤

read

public int read(char[] b, int off, int len) throws IOException

將字符讀入一個數(shù)組的一部分。

指定的是:

read in class Reader

參數(shù)。

參數(shù)名稱 參數(shù)描述
b 目的地緩沖區(qū)
off 開始存儲字符的偏移量
len 讀取的最大字符數(shù)

返回:

讀取的實際字符數(shù),如果已經(jīng)到達流的末端,則為-1。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生I/O錯誤

skip

public long skip(long n) throws IOException

跳過的字符。返回被跳過的字符數(shù)。

n參數(shù)可以是負數(shù),盡管在這種情況下Reader超類的skip方法會拋出一個異常。如果n是負數(shù),那么這個方法不做任何事情,返回0。

覆蓋:

跳過Reader類

參數(shù):

參數(shù)名稱 參數(shù)描述
n 要跳過的字符數(shù)

返回:

實際跳過的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果流關閉,或者發(fā)生 I/O 錯誤

ready

public boolean ready() throws IOException

說明這個流是否準備好被讀取。字符陣列讀取器總是準備好被讀取。

重寫:

ready in class Reader

返回:

如果下一個read()保證不阻塞輸入,則返回true,否則返回false。注意,返回false并不保證下一次讀取會阻塞。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生I/O錯誤

markSupported

public boolean markSupported()

告訴這個流是否支持 mark() 操作,它支持。

覆蓋:

markSupported in class Reader

返回:

當且僅當此流支持標記操作時才為 true。

mark

public void mark(int readAheadLimit) throws IOException

標記流中的當前位置。 對 reset() 的后續(xù)調用會將流重新定位到該點。

覆蓋:

mark in class Reader

參數(shù):

參數(shù)名稱 參數(shù)描述
readAheadLimit 在保留標記的同時限制可以讀取的字符數(shù)。 因為流的輸入來自字符數(shù)組,所以沒有實際限制; 因此這個論點被忽略。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

reset

public void reset() throws IOException

將流重置為最新標記,如果從未標記,則重置為開頭。

覆蓋:

reset in class Reader

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

close

public void close()

關閉流并釋放與其關聯(lián)的任何系統(tǒng)資源。 關閉流后,進一步的 read()、ready()、mark()、reset() 或 skip() 調用將引發(fā) IOException。 關閉以前關閉的流沒有效果。

指定者:

在接口 AutoCloseable 中關閉

指定者:

在接口Closeable中關閉

指定者:

close in class Reader

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號