該類允許應(yīng)用創(chuàng)建一個(gè)輸入流,從其中讀取字節(jié)數(shù)組提供的字節(jié)。
應(yīng)用也能從使用一個(gè)
StringBufferInputStream
的某字符串中讀取字節(jié)。
類 java.io.ByteArrayInputStream
類 java.io.ByteArrayInputStream
java.lang.Object
|
+----java.io.InputStream
|
+----java.io.ByteArrayInputStream
- public class ByteArrayInputStream
- extends InputStream
- 出現(xiàn)于:
- JDK1.0
- 參見(jiàn):
- StringBufferInputStream
變量索引
- buf
- 包含數(shù)據(jù)的字節(jié)數(shù)組。
- count
- 比輸入緩沖區(qū)中最后有效字符大一的下標(biāo)。
- mark
- 流中的當(dāng)前標(biāo)記位置。
- pos
- 從輸入流緩沖中讀入的下一個(gè)字符的下標(biāo)。
構(gòu)造子索引
- ByteArrayInputStream(byte[])
- 創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。
- ByteArrayInputStream(byte[], int, int)
- 創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。
方法索引
- available()
- 返回從該輸入流中可無(wú)阻塞讀取的字節(jié)數(shù)。
- mark(int)
- 設(shè)置流中的當(dāng)前標(biāo)記位置。
- markSupported()
- 若 ByteArrayInputStream 支持標(biāo)記/復(fù)位,則測(cè)試。
- read()
- 從該輸入流中讀取下一個(gè)字節(jié)數(shù)據(jù)。
- read(byte[], int, int)
- 將該輸入流中
len
個(gè)字節(jié)數(shù)據(jù)讀入某個(gè)字節(jié)數(shù)組中。
- reset()
- 將緩沖區(qū)重置為標(biāo)記位置。
- skip(long)
- 跳過(guò)輸入流中
n
個(gè)字節(jié)數(shù)據(jù)。
變量
buf
protected byte buf[]
- 包含數(shù)據(jù)的字節(jié)數(shù)組。
pos
protected int pos
- 從輸入流緩沖區(qū)中讀入的下一個(gè)字符的下標(biāo)。
mark
protected int mark
- 流中的當(dāng)前標(biāo)記位置。構(gòu)造時(shí) ByteArrayInputStreams 的缺省標(biāo)記在零位置。用
mark()
方法可將其標(biāo)記在另一個(gè)位置。
reset()
方法將當(dāng)前緩沖區(qū)位置設(shè)置為該點(diǎn)。
count
protected int count
- 比輸入緩沖區(qū)中最后有效字符大一的下標(biāo)。
構(gòu)造子
ByteArrayInputStream
public ByteArrayInputStream(byte buf[])
- 創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。該字節(jié)數(shù)組未被復(fù)制。
- 參數(shù):
- buf - 輸入緩沖區(qū)
ByteArrayInputStream
public ByteArrayInputStream(byte buf[],
int offset,
int length)
- 創(chuàng)建一個(gè)新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。達(dá)到
length
字符時(shí)將從字節(jié)數(shù)組的指示偏移量開(kāi)始讀取。
該字節(jié)數(shù)組未被復(fù)制。
- 參數(shù):
- buf - 輸入緩沖區(qū)
- offset - 緩沖區(qū)中將讀取的第一個(gè)字節(jié)的偏移量
- len - 從緩沖區(qū)中待讀取的最大字節(jié)數(shù)
方法
read
public synchronized int read()
- 從該輸入流中讀取下一個(gè)字節(jié)數(shù)據(jù)。返回的字節(jié)值是
0
到 255
范圍內(nèi)的一個(gè) int
數(shù)。如果已讀到流尾,無(wú)可讀的字節(jié)時(shí),返回 -1
。
不能阻塞 StringBufferInputStream
的 read
方法。
- 返回值:
- 下一個(gè)數(shù)據(jù)字節(jié),若已讀到流尾,則為
-1
。
- 覆蓋:
- 類
InputStream 中的 read 。
read
public synchronized int read(byte b[],
int off,
int len)
- 將該輸入流中
len
個(gè)字節(jié)數(shù)據(jù)讀入某個(gè)字節(jié)數(shù)組中。不能阻塞該方法。
- 參數(shù):
- b - 讀取數(shù)據(jù)的緩沖區(qū)。
- off - 讀取數(shù)據(jù)的起始偏移。
- len - 讀取的最大字節(jié)數(shù)。
- 返回值:
- 讀取緩存區(qū)的整個(gè)字節(jié)數(shù),若讀到流尾且無(wú)數(shù)據(jù)可讀則為
-1
。
- 覆蓋:
- 類 InputStream
中的
read 。
skip
public synchronized long skip(long n)
- 跳過(guò)輸入流中
n
個(gè)字節(jié)數(shù)據(jù)。 若已讀到輸入流尾,則可能會(huì)跳過(guò)少數(shù)數(shù)據(jù)。
- 參數(shù):
- n - 跳過(guò)的字節(jié)數(shù)。
- 返回值:
- 實(shí)際跳過(guò)的字節(jié)數(shù)。
- 覆蓋:
- 類 InputStream 中的 skip 。
available
public synchronized int available()
- 返回可從該輸入流中無(wú)阻塞讀取的字節(jié)數(shù)。
ByteArrayInputStream
的可用
方法的返回值
count?- pos
,
它是從輸入緩沖區(qū)待讀的字節(jié)數(shù)。
- 返回值:
- 可從輸入流中無(wú)阻塞讀取的字節(jié)數(shù)。
- 覆蓋:
- 類
InputStream 中的
available 。
markSupported
public boolean markSupported()
- 若 ByteArrayInputStream 支持標(biāo)記/重置,則測(cè)試。
- 覆蓋:
- 類 InputStream
中的 markSupported 。
mark
public void mark(int markpos)
- 設(shè)置流中的當(dāng)前標(biāo)記位置。構(gòu)造時(shí) ByteArrayInputStreams 缺省標(biāo)記在零位置。用該方法可將其標(biāo)記在另一個(gè)位置。
- 覆蓋:
- 類
InputStream 中的
mark 。
reset
public synchronized void reset()
- 將緩沖區(qū)重置為標(biāo)記的位置。除非標(biāo)記了另一個(gè)位置,否則該標(biāo)記位置即為開(kāi)始位置。
- 覆蓋:
- 類
InputStream 中的 reset 。