鴻蒙OS PipedReader

2022-10-24 11:30 更新

PipedReader

java.lang.Object

|---java.io.Reader

|---|---java.io.PipedReader

public class PipedReader
extends Reader

管道字符輸入流。

Since:

JDK1.1

字段摘要

從類 java.io.Reader 繼承的字段
lock

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
PipedReader() 創(chuàng)建一個 PipedReader 以便它尚未連接。
PipedReader(int pipeSize) 創(chuàng)建一個 PipedReader 以便它尚未連接并使用指定的管道大小作為管道緩沖區(qū)。
PipedReader(PipedWriter src) 創(chuàng)建一個 PipedReader 以便它連接到管道編寫器 src。
PipedReader(PipedWriter src, int pipeSize) 創(chuàng)建一個 PipedReader 以便它連接到管道寫入器 src 并為管道緩沖區(qū)使用指定的管道大小。

方法總結(jié)

修飾符和類型 方法 描述
void close() 關(guān)閉此管道流并釋放與該流關(guān)聯(lián)的任何系統(tǒng)資源。
void connect(PipedWriter src) 導(dǎo)致此管道讀取器連接到管道寫入器 src。
int read() 從此管道流中讀取數(shù)據(jù)的下一個字符。
int read(char[] cbuf, int off, int len) 從此管道流中讀取最多 len 個字符的數(shù)據(jù)到字符數(shù)組中。
boolean ready() 判斷此流是否已準(zhǔn)備好被讀取。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.Reader 繼承的方法
mark, markSupported, read, read, reset, skip

構(gòu)造函數(shù)詳細(xì)信息

PipedReader

public PipedReader(PipedWriter src) throws IOException

創(chuàng)建一個 PipedReader 以便它連接到管道編寫器 src。 然后,寫入 src 的數(shù)據(jù)將可用作此流的輸入。

參數(shù):

參數(shù)名稱 參數(shù)描述
src 要連接的流。

Throws:

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

PipedReader

public PipedReader(PipedWriter src, int pipeSize) throws IOException

創(chuàng)建一個 PipedReader 以便它連接到管道寫入器 src 并為管道緩沖區(qū)使用指定的管道大小。 然后,寫入 src 的數(shù)據(jù)將可用作此流的輸入。

參數(shù):

參數(shù)名稱 參數(shù)描述
src 要連接的流。
pipeSize 管道緩沖區(qū)的大小。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。
IllegalArgumentException 如果 pipeSize <= 0.

Since:

1.6

PipedReader

public PipedReader()

創(chuàng)建一個 PipedReader 以便它尚未連接。 在使用之前,它必須連接到 PipedWriter。

PipedReader

public PipedReader(int pipeSize)

創(chuàng)建一個 PipedReader 以便它尚未連接并使用指定的管道大小作為管道緩沖區(qū)。 在使用之前,它必須連接到 PipedWriter。

參數(shù):

參數(shù)名稱 參數(shù)描述
pipeSize 管道緩沖區(qū)的大小。

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果 pipeSize <= 0.

Since:

1.6

方法詳情

connect

public void connect(PipedWriter src) throws IOException

導(dǎo)致此管道讀取器連接到管道寫入器 src。 如果此對象已連接到其他管道寫入器,則會引發(fā) IOException。

如果 src 是一個未連接的管道寫入器,而 snk 是一個未連接的管道讀取器,它們可以通過以下任一調(diào)用連接:

snk.connect(src) 

或調(diào)用:

src.connect(snk) 

這兩個調(diào)用具有相同的效果。

參數(shù):

參數(shù)名稱 參數(shù)描述
src 要連接的管道編寫器。

Throws:

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

read

public int read() throws IOException

從此管道流中讀取數(shù)據(jù)的下一個字符。 如果由于到達(dá)流的末尾而沒有可用的字符,則返回值 -1。 此方法會一直阻塞,直到輸入數(shù)據(jù)可用、檢測到流結(jié)束或引發(fā)異常。

覆蓋:

read in class Reader

返回:

數(shù)據(jù)的下一個字符,如果到達(dá)流的末尾,則為 -1。

Throws:

Throw名稱 Throw描述
IOException 如果管道損壞、未連接、關(guān)閉或發(fā)生 I/O 錯誤。

read

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

從此管道流中讀取最多 len 個字符的數(shù)據(jù)到字符數(shù)組中。 如果到達(dá)數(shù)據(jù)流的末尾或 len 超過管道的緩沖區(qū)大小,則將讀取小于 len 的字符。 此方法會阻塞,直到至少有一個輸入字符可用。

指定者:

在課堂閱讀器中閱讀

參數(shù):

參數(shù)名稱 參數(shù)描述
cbuf 讀取數(shù)據(jù)的緩沖區(qū)。
off 數(shù)據(jù)的起始偏移量。
len 讀取的最大字符數(shù)。

返回:

讀入緩沖區(qū)的字符總數(shù),如果由于到達(dá)流的末尾而沒有更多數(shù)據(jù),則為 -1。

Throws:

Throw名稱 Throw描述
IOException 如果管道損壞、未連接、關(guān)閉或發(fā)生 I/O 錯誤。

ready

public boolean ready() throws IOException

判斷此流是否已準(zhǔn)備好被讀取。 如果循環(huán)緩沖區(qū)不為空,則管道字符流已準(zhǔn)備就緒。

覆蓋:

ready in class Reader

返回:

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

Throws:

Throw名稱 Throw描述
IOException 如果管道損壞、未連接或關(guān)閉。

close

public void close() throws IOException

關(guān)閉此管道流并釋放與該流關(guān)聯(lián)的任何系統(tǒng)資源。

指定者:

在接口 AutoCloseable 中關(guān)閉

指定者:

在接口Closeable中關(guān)閉

指定者:

close in class Reader

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號