新聞中心
PipedInputStream

創(chuàng)新互聯(lián)建站專注于碌曲企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。碌曲網(wǎng)站建設(shè)公司,為碌曲等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
java.lang.Object
|---java.io.InputStream
|---|---java.io.PipedInputStream
public class PipedInputStream
extends InputStream管道輸入流應(yīng)該連接到管道輸出流; 然后,管道輸入流提供寫入管道輸出流的任何數(shù)據(jù)字節(jié)。 通常,數(shù)據(jù)由一個(gè)線程從 PipedInputStream 對(duì)象讀取,數(shù)據(jù)由其他線程寫入相應(yīng)的 PipedOutputStream。 不建議嘗試從單個(gè)線程中使用這兩個(gè)對(duì)象,因?yàn)樗赡軙?huì)使線程死鎖。 管道輸入流包含一個(gè)緩沖區(qū),在限制范圍內(nèi)將讀取操作與寫入操作分離。 如果向連接的管道輸出流提供數(shù)據(jù)字節(jié)的線程不再活動(dòng),則稱該管道已損壞。
Since:
JDK1.0
字段摘要
| 修飾符和類型 | 字段 | 描述 |
|---|---|---|
| protected byte[] | buffer | 放置傳入數(shù)據(jù)的循環(huán)緩沖區(qū)。 |
| protected int | in | 當(dāng)從連接的管道輸出流接收時(shí),循環(huán)緩沖區(qū)中將存儲(chǔ)下一個(gè)字節(jié)數(shù)據(jù)的位置的索引。 |
| protected int | out | 此管道輸入流將讀取下一個(gè)數(shù)據(jù)字節(jié)的循環(huán)緩沖區(qū)中位置的索引。 |
| protected static int | PIPE_SIZE | 管道的循環(huán)輸入緩沖區(qū)的默認(rèn)大小。 |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| PipedInputStream() | 創(chuàng)建一個(gè) PipedInputStream 以便它尚未連接。 |
| PipedInputStream(int pipeSize) | 創(chuàng)建一個(gè) PipedInputStream 以便它尚未連接并使用指定的管道大小作為管道緩沖區(qū)。 |
| PipedInputStream(PipedOutputStream src) | 創(chuàng)建一個(gè) PipedInputStream 以便它連接到管道輸出流 src。 |
| PipedInputStream(PipedOutputStream src, int pipeSize) | 創(chuàng)建一個(gè) PipedInputStream 以便它連接到管道輸出流 src 并為管道緩沖區(qū)使用指定的管道大小。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| int | available() | 返回可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。 |
| void | close() | 關(guān)閉此管道輸入流并釋放與該流關(guān)聯(lián)的任何系統(tǒng)資源。 |
| void | connect(PipedOutputStream src) | 導(dǎo)致此管道輸入流連接到管道輸出流 src。 |
| int | read() | 從此管道輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。 |
| int | read(byte[] b, int off, int len) | 從此管道輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。 |
| protected void | receive(int b) | 接收一個(gè)字節(jié)的數(shù)據(jù)。 |
| 從類 java.io.InputStream 繼承的方法 |
|---|
| mark, markSupported, read, reset, skip |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段詳細(xì)信息
PIPE_SIZE
protected static final int PIPE_SIZE
管道的循環(huán)輸入緩沖區(qū)的默認(rèn)大小。
Since:
JDK1.1
buffer
protected byte[] buffer
放置傳入數(shù)據(jù)的循環(huán)緩沖區(qū)。
Since:
JDK1.1
in
protected int in
當(dāng)從連接的管道輸出流接收時(shí),循環(huán)緩沖區(qū)中將存儲(chǔ)下一個(gè)字節(jié)數(shù)據(jù)的位置的索引。 in<0 表示緩沖區(qū)為空,in==out 表示緩沖區(qū)已滿
Since:
JDK1.1
out
protected int out
此管道輸入流將讀取下一個(gè)數(shù)據(jù)字節(jié)的循環(huán)緩沖區(qū)中位置的索引。
Since:
JDK1.1
構(gòu)造函數(shù)詳細(xì)信息
PipedInputStream
public PipedInputStream(PipedOutputStream src) throws IOException
創(chuàng)建一個(gè) PipedInputStream 以便它連接到管道輸出流 src。 然后,寫入 src 的數(shù)據(jù)字節(jié)將可用作此流的輸入。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| src | 要連接的流。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
PipedInputStream
public PipedInputStream(PipedOutputStream src, int pipeSize) throws IOException
創(chuàng)建一個(gè) PipedInputStream 以便它連接到管道輸出流 src 并為管道緩沖區(qū)使用指定的管道大小。 然后,寫入 src 的數(shù)據(jù)字節(jié)將可用作此流的輸入。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| src | 要連接的流。 |
| pipeSize | 管道緩沖區(qū)的大小。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
| IllegalArgumentException | 如果管道大小 <= 0。 |
Since:
1.6
PipedInputStream
public PipedInputStream()
創(chuàng)建一個(gè) PipedInputStream 以便它尚未連接。 在使用之前,它必須連接到 PipedOutputStream。
PipedInputStream
public PipedInputStream(int pipeSize)
創(chuàng)建一個(gè) PipedInputStream 以便它尚未連接并使用指定的管道大小作為管道緩沖區(qū)。 在使用之前,它必須連接到 PipedOutputStream。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| pipeSize | 管道緩沖區(qū)的大小。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 pipeSize <= 0. |
Since:
1.6
方法詳情
connect
public void connect(PipedOutputStream src) throws IOException
導(dǎo)致此管道輸入流連接到管道輸出流 src。 如果此對(duì)象已連接到其他管道輸出流,則會(huì)引發(fā) IOException。
如果 src 是一個(gè)未連接的管道輸出流并且 snk 是一個(gè)未連接的管道輸入流,它們可以通過(guò)以下任一調(diào)用連接:
snk.connect(src) 或調(diào)用:
src.connect(snk) 這兩個(gè)調(diào)用具有相同的效果。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| src | 要連接的管道輸出流。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
receive
protected void receive(int b) throws IOException
接收一個(gè)字節(jié)的數(shù)據(jù)。 如果沒(méi)有可用的輸入,此方法將阻塞。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 正在接收的字節(jié) |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果管道損壞、未連接、關(guān)閉或發(fā)生 I/O 錯(cuò)誤。 |
Since:
JDK1.1
read
public int read() throws IOException
從此管道輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。 值字節(jié)以 0 到 255 范圍內(nèi)的 int 形式返回。此方法阻塞,直到輸入數(shù)據(jù)可用、檢測(cè)到流結(jié)束或引發(fā)異常。
指定者:
讀入類 InputStream
返回:
數(shù)據(jù)的下一個(gè)字節(jié),如果到達(dá)流的末尾,則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果管道未連接、損壞、關(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ù)組中。 如果到達(dá)數(shù)據(jù)流的末尾或 len 超過(guò)管道的緩沖區(qū)大小,則將讀取少于 len 個(gè)字節(jié)。 如果 len 為零,則不讀取任何字節(jié)并返回 0; 否則,該方法將阻塞,直到至少有 1 個(gè)字節(jié)的輸入可用、檢測(cè)到流結(jié)束或拋出異常。
覆蓋:
讀入類 InputStream
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
| off | 目標(biāo)數(shù)組 b 中的起始偏移量 |
| len | 讀取的最大字節(jié)數(shù)。 |
返回:
讀入緩沖區(qū)的總字節(jié)數(shù),如果由于到達(dá)流的末尾而沒(méi)有更多數(shù)據(jù),則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 b 為空。 |
| IndexOutOfBoundsException | 如果 off 為負(fù)數(shù),len 為負(fù)數(shù),或者 len 大于 b.length - off |
| IOException | 如果管道損壞、未連接、關(guān)閉或發(fā)生 I/O 錯(cuò)誤。 |
available
public int available() throws IOException
返回可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。
覆蓋:
在類 InputStream 中可用
返回:
可以在不阻塞的情況下從此輸入流中讀取的字節(jié)數(shù),如果此輸入流已通過(guò)調(diào)用其 close() 方法關(guān)閉,或者管道未連接或損壞,則為 0。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
Since:
JDK1.0.2
close
public void close() throws IOException
關(guān)閉此管道輸入流并釋放與該流關(guān)聯(lián)的任何系統(tǒng)資源。
指定者:
在接口 AutoCloseable 中關(guān)閉
指定者:
在接口Closeable中關(guān)閉
覆蓋:
在類 InputStream 中關(guān)閉
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
分享名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSPipedInputStream
瀏覽路徑:http://fisionsoft.com.cn/article/copshgo.html


咨詢
建站咨詢
