該類實現(xiàn)一個以字節(jié)數(shù)組形式寫入數(shù)據(jù)的輸出流。當(dāng)數(shù)據(jù)寫入緩沖區(qū)時,它自動擴大。用 toByteArray()
和
toString()
能檢索數(shù)據(jù)。
類 java.io.ByteArrayOutputStream
類 java.io.ByteArrayOutputStream
java.lang.Object
|
+----java.io.OutputStream
|
+----java.io.ByteArrayOutputStream
- public class ByteArrayOutputStream
- extends OutputStream
變量索引
- buf
-
數(shù)據(jù)存儲的緩沖區(qū)。
- count
- 緩沖區(qū)中有效字節(jié)數(shù)。
構(gòu)造子索引
- ByteArrayOutputStream()
- 創(chuàng)建一個新的字節(jié)數(shù)組輸出流。
- ByteArrayOutputStream(int)
- 創(chuàng)建一個新的字節(jié)數(shù)組輸出流,并帶有指定大小字節(jié)的緩沖區(qū)容量。
方法索引
- reset()
- 將該字節(jié)數(shù)組輸出流的
count
域重置為零,以便刪除輸出流中所有當(dāng)前聚集的輸出。 - size()
- 返回緩沖區(qū)的當(dāng)前尺寸。
- toByteArray()
- 創(chuàng)建一個新分配的字節(jié)數(shù)組。
- toString()
- 根據(jù)平臺缺省字符編碼將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串,并將字節(jié)轉(zhuǎn)換為字符。
- toString(int)
- 創(chuàng)建新分配的字符串。
不推薦。
- toString(String)
- 根據(jù)指定字符編碼將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串,并將字節(jié)轉(zhuǎn)換為字符。
- write(byte[], int, int)
- 將指定字節(jié)數(shù)組中從偏移量
off
開始的
len
個字節(jié)寫入該字節(jié)數(shù)組輸出流。
- write(int)
- 將指定字節(jié)寫入該字節(jié)數(shù)組輸出流。
- writeTo(OutputStream)
- 用
out.write(buf, 0, count)
調(diào)用輸出流的寫方法將該字節(jié)數(shù)組輸出流的全部內(nèi)容寫入指定的輸出流參數(shù)。
變量
buf
protected byte buf[]
- 數(shù)據(jù)存儲的緩沖區(qū)。
count
protected int count
- 緩沖區(qū)中有效字節(jié)數(shù)。
構(gòu)造子
ByteArrayOutputStream
public ByteArrayOutputStream()
- 創(chuàng)建一個新的字節(jié)數(shù)組輸出流。緩沖區(qū)初始容量為 32 字節(jié),
必要時可增加其尺寸。
ByteArrayOutputStream
public ByteArrayOutputStream(int size)
- 創(chuàng)建一個新的字節(jié)數(shù)組輸出流,并帶有指定大小字節(jié)的緩沖區(qū)容量。
- 參數(shù):
- size - 初始尺寸
方法
write
public synchronized void write(int b)
- 將指定字節(jié)寫入該字節(jié)輸出流。
- 參數(shù):
- b - 待寫入的字節(jié)。
- 覆蓋:
- 類 OutputStream 中的
write 。
write
public synchronized void write(byte b[],
int off,
int len)
- 將指定字節(jié)數(shù)組中從偏移量
off
開始的
len
個字節(jié)寫入該字節(jié)數(shù)組輸出流。
- 參數(shù):
- b - 數(shù)據(jù)。
- off - 數(shù)據(jù)的起始偏移量。
- len - 寫入的字節(jié)數(shù)。
- 覆蓋:
- 類 OutputStream
中的
write 。
writeTo
public synchronized void writeTo(OutputStream out) throws IOException
- 用
out.write(buf, 0, count)
調(diào)用輸出流的寫方法將該字節(jié)數(shù)組輸出流的全部內(nèi)容寫入特定輸出流參數(shù)。
- 參數(shù):
- out - 待寫入數(shù)據(jù)的輸出流。
- 拋出:
IOException
- 如果發(fā)生一個 I/O 錯誤。
reset
public synchronized void reset()
- 將該字節(jié)數(shù)組輸出流的
count
域重置為零,以便刪除輸出流中當(dāng)前聚集的所有輸出。重用已分配的緩沖區(qū)空間可使輸出流能夠再次使用。
- 參見:
- count
toByteArray
public synchronized byte[] toByteArray()
- 創(chuàng)建一個新分配的字節(jié)數(shù)組。尺寸為該輸出流的當(dāng)前尺寸,緩沖區(qū)的有效內(nèi)容已復(fù)制到其中。
- 返回值:
- 該輸出流的當(dāng)前內(nèi)容的字節(jié)數(shù)組形式。
- 參見:
- size
size
public int size()
- 返回緩沖區(qū)的當(dāng)前尺寸。
- 返回值:
-
count
域的值, 即該輸出流的有效輸出流。 - 參見:
- count
toString
public String toString()
- 根據(jù)平臺缺省字符編碼將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串,并將字節(jié)轉(zhuǎn)換為字符。
- 覆蓋:
- 類 Object 中的
toString 。
toString
public String toString(String enc) throws UnsupportedEncodingException
- 根據(jù)指定字符編碼將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串,并將字節(jié)轉(zhuǎn)換為字符。
- 參數(shù):
- enc - 一個字符-編碼名稱
toString
public String toString(int hibyte)
- 注意:不推薦使用 toString() 。
該方法不能恰當(dāng)?shù)匕炎止?jié)轉(zhuǎn)換成字符。同 JDK 1.1 類似,完成此操作的首選方法是采用
toString(String enc)
方法,要得到一個字符-編碼名稱,或使用平臺的缺省編碼 soSsrint
方法。
- 創(chuàng)建新分配的字符串。尺寸為該輸出流的當(dāng)前尺寸,緩沖區(qū)的有效內(nèi)容已復(fù)制到其中。結(jié)果字符串中每個字符 c 是從下類字節(jié)數(shù)組的相應(yīng)元素 b 中構(gòu)造的:
c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
- 參數(shù):
- hibyte - 每個導(dǎo)致 Unicode 字符的高字節(jié)。
- 返回值:
- 該輸出流的當(dāng)前內(nèi)容的字節(jié)數(shù)組形式。
- 參見:
- size, toString, toString