新聞中心
ByteArrayOutputStream

java.lang.Object
|---java.io.OutputStream
|---|---java.io.ByteArrayOutputStream
public class ByteArrayOutputStream
extends OutputStream該類(lèi)實(shí)現(xiàn)了一個(gè)輸出流,其中的數(shù)據(jù)被寫(xiě)入一個(gè)字節(jié)數(shù)組。當(dāng)數(shù)據(jù)被寫(xiě)入時(shí),緩沖區(qū)會(huì)自動(dòng)增長(zhǎng)。數(shù)據(jù)可以用toByteArray()和toString()來(lái)檢索。
關(guān)閉ByteArrayOutputStream沒(méi)有效果。這個(gè)類(lèi)中的方法可以在流被關(guān)閉后被調(diào)用而不產(chǎn)生IOException。
Since:
JDK1.0
字段總結(jié)
| 修飾符和類(lèi)型 | 字段 | 描述 |
|---|---|---|
| protected byte[] | buf | 存儲(chǔ)數(shù)據(jù)的緩沖區(qū)。 |
| protected int | count | 緩沖區(qū)內(nèi)的有效字節(jié)數(shù)。 |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| ByteArrayOutputStream() | 創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流。 |
| ByteArrayOutputStream(int size) | 創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流,其緩沖區(qū)的容量為指定的字節(jié)數(shù)。 |
方法總結(jié)
| 修飾符和類(lèi)型 | 方法 | 描述 |
|---|---|---|
| void | close() | 關(guān)閉一個(gè)ByteArrayOutputStream沒(méi)有任何效果。 |
| void | reset() | 將該字節(jié)數(shù)組輸出流的count字段重置為0,這樣,輸出流中當(dāng)前累積的所有輸出都被丟棄。 |
| int | size() | 返回緩沖區(qū)的當(dāng)前大小。 |
| byte[] | toByteArray() | 創(chuàng)建一個(gè)新分配的字節(jié)數(shù)組。 |
| String | toString() | 將緩沖區(qū)的內(nèi)容轉(zhuǎn)換成字符串,使用平臺(tái)的默認(rèn)字符集對(duì)字節(jié)進(jìn)行解碼。 |
| String | toString(int hibyte) | 棄用。這個(gè)方法不能正確地將字節(jié)轉(zhuǎn)換成字符。從JDK 1.1開(kāi)始,首選的方法是通過(guò)toString(String enc)方法,它需要一個(gè)編碼名稱(chēng)參數(shù),或者通過(guò)toString()方法,它使用平臺(tái)的默認(rèn)字符編碼。 |
| String | toString(String charsetName) | 通過(guò)使用指定的字符集對(duì)字節(jié)進(jìn)行解碼,將緩沖區(qū)的內(nèi)容轉(zhuǎn)換為字符串。 |
| void | write(byte[] b, int off, int len) | 從偏移量off處開(kāi)始,將指定的字節(jié)數(shù)的len字節(jié)寫(xiě)到這個(gè)字節(jié)數(shù)的輸出流中。 |
| void | write(int b) | 將指定的字節(jié)寫(xiě)入這個(gè)字節(jié)數(shù)組的輸出流中。 |
| void | writeTo(OutputStream out) | 將此字節(jié)數(shù)組輸出流的全部?jī)?nèi)容寫(xiě)入指定的輸出流參數(shù),就像使用out.write(buf, 0, count)調(diào)用輸出流的寫(xiě)入方法一樣。 |
| 從java.lang.Object類(lèi)繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 從java.io.OutputStream類(lèi)繼承的方法 |
|---|
| flush, write |
字段詳細(xì)信息
buf
protected byte[] buf
存儲(chǔ)數(shù)據(jù)的緩沖區(qū)。
count
protected int count
緩沖區(qū)內(nèi)的有效字節(jié)數(shù)。
構(gòu)造函數(shù)詳細(xì)信息
ByteArrayOutputStream
public ByteArrayOutputStream()
創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流。緩沖區(qū)的容量最初為32字節(jié),但如果有必要,其大小會(huì)增加。
ByteArrayOutputStream
public ByteArrayOutputStream(int size)
創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流,其緩沖區(qū)的容量為指定的字節(jié)數(shù)。
參數(shù)。
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| size | 初始尺寸。 |
Throws:
| Throw名稱(chēng) | Throw描述 |
|---|---|
| IllegalArgumentException | 如果尺寸為負(fù)數(shù)。 |
方法詳情
write
public void write(int b)
將指定的字節(jié)寫(xiě)入這個(gè)字節(jié)數(shù)組的輸出流中。
指定的是:
write in class OutputStream
參數(shù)。
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| b | 要寫(xiě)入的字節(jié)。 |
write
public void write(byte[] b, int off, int len)
從偏移量off開(kāi)始,將指定字節(jié)數(shù)的len字節(jié)寫(xiě)到這個(gè)字節(jié)數(shù)的輸出流中。
重寫(xiě):
write in class OutputStream
參數(shù):
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| b | 數(shù)據(jù)。 |
| off | 數(shù)據(jù)中的起始偏移。 |
| len | 要寫(xiě)入的字節(jié)數(shù)。 |
writeTo
public void writeTo(OutputStream out) throws IOException
將此字節(jié)數(shù)組輸出流的全部?jī)?nèi)容寫(xiě)入指定的輸出流參數(shù),就像使用out.write(buf, 0, count)調(diào)用輸出流的寫(xiě)入方法一樣。
參數(shù)。
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| out | 要寫(xiě)入數(shù)據(jù)的輸出流。 |
Throws:
| Throw名稱(chēng) | Throw描述 |
|---|---|
| IOException | 如果發(fā)生I/O錯(cuò)誤。 |
reset
public void reset()
將這個(gè)字節(jié)數(shù)組輸出流的count字段重置為0,這樣,輸出流中當(dāng)前積累的所有輸出都被丟棄了。該輸出流可以再次使用,重新使用已經(jīng)分配的緩沖空間。
toByteArray
public byte[] toByteArray()
創(chuàng)建一個(gè)新分配的字節(jié)數(shù)組。它的大小是這個(gè)輸出流的當(dāng)前大小,緩沖區(qū)的有效內(nèi)容已經(jīng)被復(fù)制到它里面。
返回。
這個(gè)輸出流的當(dāng)前內(nèi)容,作為一個(gè)字節(jié)數(shù)組。
size
public int size()
返回緩沖區(qū)的當(dāng)前大小。
返回:
count 字段的值,即此輸出流中的有效字節(jié)數(shù)。
toString
public String toString()
使用平臺(tái)的默認(rèn)字符集將緩沖區(qū)的內(nèi)容轉(zhuǎn)換為字符串解碼字節(jié)。 新字符串的長(zhǎng)度是字符集的函數(shù),因此可能不等于緩沖區(qū)的大小。
此方法始終使用平臺(tái)默認(rèn)字符集的默認(rèn)替換字符串替換格式錯(cuò)誤的輸入和不可映射的字符序列。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。
覆蓋:
類(lèi) Object 中的 toString
返回:
從緩沖區(qū)內(nèi)容解碼的字符串。
Since:
JDK1.1
toString
public String toString(String charsetName) throws UnsupportedEncodingException
通過(guò)使用命名字符集解碼字節(jié),將緩沖區(qū)的內(nèi)容轉(zhuǎn)換為字符串。 新字符串的長(zhǎng)度是字符集的函數(shù),因此可能不等于字節(jié)數(shù)組的長(zhǎng)度。
此方法始終使用此字符集的默認(rèn)替換字符串替換格式錯(cuò)誤的輸入和不可映射的字符序列。 當(dāng)需要對(duì)解碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetDecoder 類(lèi)。
參數(shù):
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| charsetName | 支持的字符集的名稱(chēng) |
返回:
從緩沖區(qū)內(nèi)容解碼的字符串。
Throws:
| Throw名稱(chēng) | Throw描述 |
|---|---|
| UnsupportedEncodingException | 如果不支持命名字符集 |
Since:
JDK1.1
toString
@Deprecated public String toString(int hibyte)
已棄用。 此方法不能正確地將字節(jié)轉(zhuǎn)換為字符。 從 JDK 1.1 開(kāi)始,執(zhí)行此操作的首選方法是通過(guò) toString(String enc) 方法,該方法接受一個(gè) encoding-name 參數(shù),或 toString() 方法,該方法使用平臺(tái)的默認(rèn)字符編碼。
創(chuàng)建一個(gè)新分配的字符串。 它的大小是輸出流的當(dāng)前大小,并且緩沖區(qū)的有效內(nèi)容已被復(fù)制到其中。 結(jié)果字符串中的每個(gè)字符 c 都是從字節(jié)數(shù)組中的相應(yīng)元素 b 構(gòu)造的,這樣:
c == (char)(((hibyte & 0xff) << 8) | (b & 0xff)) 參數(shù):
| 參數(shù)名稱(chēng) | 參數(shù)描述 |
|---|---|
| hibyte | 每個(gè)生成的 Unicode 字符的高字節(jié)。 |
返回:
輸出流的當(dāng)前內(nèi)容,作為字符串。
close
public void close() throws IOException
關(guān)閉 ByteArrayOutputStream 無(wú)效。 可以在流關(guān)閉后調(diào)用此類(lèi)中的方法,而不會(huì)生成 IOException。
指定者:
在接口 AutoCloseable 中關(guān)閉
指定者:
在接口Closeable中關(guān)閉
覆蓋:
在類(lèi) OutputStream 中關(guān)閉
Throws:
| Throw名稱(chēng) | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
文章標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSByteArrayOutputStream
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/djogeeo.html


咨詢
建站咨詢
