日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSPushbackInputStream

PushbackInputStream

java.lang.Object

|---java.io.InputStream

|---|---java.io.FilterInputStream

|---|---|---java.io.PushbackInputStream

public class PushbackInputStream
extends FilterInputStream

PushbackInputStream 將功能添加到另一個(gè)輸入流,即“推回”或“未讀”一個(gè)字節(jié)的能力。 這在代碼片段可以方便地讀取由特定字節(jié)值分隔的不確定數(shù)量的數(shù)據(jù)字節(jié)的情況下很有用; 讀取終止字節(jié)后,代碼片段可以“取消讀取”它,以便對輸入流的下一次讀取操作將重新讀取被推回的字節(jié)。 例如,表示構(gòu)成標(biāo)識(shí)符的字符的字節(jié)可能會(huì)以表示運(yùn)算符字符的字節(jié)結(jié)尾; 一個(gè)只讀取標(biāo)識(shí)符的方法可以讀取,直到它看到運(yùn)算符,然后將運(yùn)算符推回以重新讀取。

Since:

JDK1.0

字段摘要

修飾符和類型 字段 描述
protected byte[]buf推回緩沖區(qū)。
protected intpos將讀取下一個(gè)字節(jié)的回推緩沖區(qū)中的位置。
從類 java.io.FilterInputStream 繼承的字段
in

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

構(gòu)造函數(shù) 描述
PushbackInputStream(InputStream in)創(chuàng)建一個(gè) PushbackInputStream 并保存其參數(shù),即輸入流,以供以后使用。
PushbackInputStream(InputStream in, int size)創(chuàng)建具有指定大小的推回緩沖區(qū)的 PushbackInputStream,并保存其參數(shù),即輸入流,以供以后使用。

方法總結(jié)

修飾符和類型 方法 描述
intavailable()返回可以從此輸入流中讀取(或跳過)的字節(jié)數(shù)的估計(jì)值,而不會(huì)被下一次調(diào)用此輸入流的方法阻塞。
voidclose()關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。
voidmark(int readlimit)標(biāo)記此輸入流中的當(dāng)前位置。
booleanmarkSupported()測試此輸入流是否支持 mark 和 reset 方法,但它不支持。
intread()從此輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。
intread(byte[] b, int off, int len)從此輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。
voidreset()將此流重新定位到最后一次在此輸入流上調(diào)用標(biāo)記方法時(shí)的位置。
longskip(long n)跳過并丟棄此輸入流中的 n 字節(jié)數(shù)據(jù)。
voidunread(byte[] b)通過將字節(jié)數(shù)組復(fù)制到推回緩沖區(qū)的前面來推回它。
voidunread(byte[] b, int off, int len)通過將字節(jié)數(shù)組的一部分復(fù)制到推回緩沖區(qū)的前面來推回它。
voidunread(int b)通過將字節(jié)復(fù)制到推回緩沖區(qū)的前面來推回一個(gè)字節(jié)。
從類 java.io.FilterInputStream 繼承的方法
read
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細(xì)信息

buf

protected byte[] buf

推回緩沖區(qū)。

Since:

JDK1.1

pos

protected int pos

將讀取下一個(gè)字節(jié)的回推緩沖區(qū)中的位置。 當(dāng)緩沖區(qū)為空時(shí),pos等于buf.length; 當(dāng)緩沖區(qū)已滿時(shí),pos 等于 0。

Since:

JDK1.1

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

PushbackInputStream

public PushbackInputStream(InputStream in, int size)

創(chuàng)建具有指定大小的推回緩沖區(qū)的 PushbackInputStream,并保存其參數(shù),即輸入流,以供以后使用。 最初,沒有回推字節(jié)(字段 pushBack 初始化為 -1)。

參數(shù):

參數(shù)名稱 參數(shù)描述
in將從中讀取字節(jié)的輸入流。
size推回緩沖區(qū)的大小。

Throws:

Throw名稱 Throw描述
IllegalArgumentException如果 size <= 0

Since:

JDK1.1

PushbackInputStream

public PushbackInputStream(InputStream in)

創(chuàng)建一個(gè) PushbackInputStream 并保存其參數(shù),即輸入流,以供以后使用。 最初,沒有回推字節(jié)(字段 pushBack 初始化為 -1)。

參數(shù):

參數(shù)名稱 參數(shù)描述
in將從中讀取字節(jié)的輸入流。

方法詳情

read

public int read() throws IOException

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

此方法返回最近推回的字節(jié)(如果有),否則調(diào)用其底層輸入流的 read 方法并返回該方法返回的任何值。

覆蓋:

讀入類 FilterInputStream

返回:

數(shù)據(jù)的下一個(gè)字節(jié),如果已到達(dá)流的末尾,則為 -1。

Throws:

Throw名稱 Throw描述
IOException如果此輸入流已通過調(diào)用其 close() 方法關(guān)閉,或者發(fā)生 I/O 錯(cuò)誤。

read

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

從此輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。 此方法首先讀取任何推回的字節(jié); 之后,如果讀取的字節(jié)數(shù)少于 len,則從底層輸入流中讀取。 如果 len 不為零,則該方法會(huì)阻塞,直到至少有 1 個(gè)字節(jié)的輸入可用; 否則,不讀取任何字節(jié)并返回 0。

覆蓋:

讀入類 FilterInputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b讀取數(shù)據(jù)的緩沖區(qū)。
off目標(biāo)數(shù)組 b 中的起始偏移量
len讀取的最大字節(jié)數(shù)。

返回:

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

Throws:

Throw名稱 Throw描述
NullPointerException如果 b 為空。
IndexOutOfBoundsException如果 off 為負(fù)數(shù),len 為負(fù)數(shù),或者 len 大于 b.length - off
IOException如果此輸入流已通過調(diào)用其 close() 方法關(guān)閉,或者發(fā)生 I/O 錯(cuò)誤。

unread

public void unread(int b) throws IOException

通過將字節(jié)復(fù)制到推回緩沖區(qū)的前面來推回一個(gè)字節(jié)。 此方法返回后,下一個(gè)要讀取的字節(jié)將具有值 (byte)b。

參數(shù):

參數(shù)名稱 參數(shù)描述
b低位字節(jié)要被推回的 int 值。

Throws:

Throw名稱 Throw描述
IOException如果回推緩沖區(qū)中沒有足夠的空間用于字節(jié),或者此輸入流已通過調(diào)用其 close() 方法關(guān)閉。

unread

public void unread(byte[] b, int off, int len) throws IOException

通過將字節(jié)數(shù)組的一部分復(fù)制到推回緩沖區(qū)的前面來推回它。 此方法返回后,要讀取的下一個(gè)字節(jié)將具有值 b[off],之后的字節(jié)將具有值 b[off+1],依此類推。

參數(shù):

參數(shù)名稱 參數(shù)描述
b要推回的字節(jié)數(shù)組。
off數(shù)據(jù)的起始偏移量。
len要推回的字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException如果推回緩沖區(qū)中沒有足夠空間容納指定的字節(jié)數(shù),或者此輸入流已通過調(diào)用其 close() 方法關(guān)閉。

Since:

JDK1.1

unread

public void unread(byte[] b) throws IOException

通過將字節(jié)數(shù)組復(fù)制到推回緩沖區(qū)的前面來推回它。 此方法返回后,要讀取的下一個(gè)字節(jié)將具有值 b[0],之后的字節(jié)將具有值 b[1],依此類推。

參數(shù):

參數(shù)名稱 參數(shù)描述
b要推回的字節(jié)數(shù)組

Throws:

Throw名稱 Throw描述
IOException如果推回緩沖區(qū)中沒有足夠空間容納指定的字節(jié)數(shù),或者此輸入流已通過調(diào)用其 close() 方法關(guān)閉。

Since:

JDK1.1

available

public int available() throws IOException

返回可以從此輸入流中讀?。ɑ蛱^)的字節(jié)數(shù)的估計(jì)值,而不會(huì)被下一次調(diào)用此輸入流的方法阻塞。 下一次調(diào)用可能是同一個(gè)線程或另一個(gè)線程。 單次讀取或跳過這么多字節(jié)不會(huì)阻塞,但可能會(huì)讀取或跳過更少的字節(jié)。

該方法返回已被推回的字節(jié)數(shù)和available返回的值之和。

覆蓋:

在類 FilterInputStream 中可用

返回:

可以從輸入流中讀取(或跳過)而不阻塞的字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException如果此輸入流已通過調(diào)用其 close() 方法關(guān)閉,或者發(fā)生 I/O 錯(cuò)誤。

skip

public long skip(long n) throws IOException

跳過并丟棄此輸入流中的 n 字節(jié)數(shù)據(jù)。 由于各種原因,skip 方法最終可能會(huì)跳過一些較小的字節(jié)數(shù),可能為零。 如果 n 為負(fù)數(shù),則不跳過任何字節(jié)。

PushbackInputStream 的 skip 方法首先跳過 pushback 緩沖區(qū)中的字節(jié)(如果有)。 然后,如果需要跳過更多字節(jié),它會(huì)調(diào)用底層輸入流的 skip 方法。 返回實(shí)際跳過的字節(jié)數(shù)。

覆蓋:

跳過類 FilterInputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
n要跳過的字節(jié)數(shù)。

返回:

跳過的實(shí)際字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException如果流不支持查找,或者流已通過調(diào)用其 close() 方法關(guān)閉,或者發(fā)生 I/O 錯(cuò)誤。

Since:

1.2

markSupported

public boolean markSupported()

測試此輸入流是否支持 mark 和 reset 方法,但它不支持。

覆蓋:

類 FilterInputStream 中的 markSupported

返回:

false,因?yàn)榇祟惒恢С?mark 和 reset 方法。

mark

public void mark(int readlimit)

標(biāo)記此輸入流中的當(dāng)前位置。

PushbackInputStream 的 mark 方法什么都不做。

覆蓋:

在類 FilterInputStream 中標(biāo)記

參數(shù):

參數(shù)名稱 參數(shù)描述
readlimit在標(biāo)記位置無效之前可以讀取的最大字節(jié)數(shù)。

reset

public void reset() throws IOException

將此流重新定位到最后一次在此輸入流上調(diào)用標(biāo)記方法時(shí)的位置。

PushbackInputStream 類的方法 reset 除了拋出一個(gè) IOException 之外什么都不做。

覆蓋:

在類 FilterInputStream 中重置

Throws:

Throw名稱 Throw描述
IOException如果調(diào)用此方法。

close

public void close() throws IOException

關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。 關(guān)閉流后,進(jìn)一步的 read()、unread()、available()、reset() 或 skip() 調(diào)用將引發(fā) IOException。 關(guān)閉以前關(guān)閉的流沒有效果。

指定者:

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

指定者:

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

覆蓋:

在類 FilterInputStream 中關(guān)閉

Throws:

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

當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSPushbackInputStream
標(biāo)題路徑:http://www.dlmjj.cn/article/djidhid.html