树叶云鸿蒙OS教程:鸿蒙OS ByteArrayOutputStream

ByteArrayOutputStream

java.lang.Object

|—java.io.OutputStream

|—|—java.io.ByteArrayOutputStream

public class ByteArrayOutputStream
extends OutputStream

该类实现了一个输出流,其中的数据被写入一个字节数组。当数据被写入时,缓冲区会自动增长。数据可以用toByteArray()和toString()来检索。

关闭ByteArrayOutputStream没有效果。这个类中的方法可以在流被关闭后被调用而不产生IOException。

Since:

JDK1.0

字段总结

修饰符和类型字段描述
protected byte[]buf存储数据的缓冲区。
protected intcount缓冲区内的有效字节数。

构造函数摘要

构造函数描述
ByteArrayOutputStream()创建一个新的字节数组输出流。
ByteArrayOutputStream(int size)创建一个新的字节数组输出流,其缓冲区的容量为指定的字节数。

方法总结

修饰符和类型方法描述
voidclose()关闭一个ByteArrayOutputStream没有任何效果。
voidreset()将该字节数组输出流的count字段重置为0,这样,输出流中当前累积的所有输出都被丢弃。
intsize()返回缓冲区的当前大小。
byte[]toByteArray()创建一个新分配的字节数组。
StringtoString()将缓冲区的内容转换成字符串,使用平台的默认字符集对字节进行解码。
StringtoString(int hibyte)弃用。这个方法不能正确地将字节转换成字符。从JDK 1.1开始,首选的方法是通过toString(String enc)方法,它需要一个编码名称参数,或者通过toString()方法,它使用平台的默认字符编码。
StringtoString(String charsetName)通过使用指定的字符集对字节进行解码,将缓冲区的内容转换为字符串。
voidwrite(byte[] b, int off, int len)从偏移量off处开始,将指定的字节数的len字节写到这个字节数的输出流中。
voidwrite(int b)将指定的字节写入这个字节数组的输出流中。
voidwriteTo(OutputStream out)将此字节数组输出流的全部内容写入指定的输出流参数,就像使用out.write(buf, 0, count)调用输出流的写入方法一样。
从java.lang.Object类继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从java.io.OutputStream类继承的方法
flush, write

字段详细信息

buf

protected byte[] buf

存储数据的缓冲区。

count

protected int count

缓冲区内的有效字节数。

构造函数详细信息

ByteArrayOutputStream

public ByteArrayOutputStream()

创建一个新的字节数组输出流。缓冲区的容量最初为32字节,但如果有必要,其大小会增加。

ByteArrayOutputStream

public ByteArrayOutputStream(int size)

创建一个新的字节数组输出流,其缓冲区的容量为指定的字节数。

参数。

参数名称参数描述
size初始尺寸。

Throws:

Throw名称Throw描述
IllegalArgumentException如果尺寸为负数。

方法详情

write

public void write(int b)

将指定的字节写入这个字节数组的输出流中。

指定的是:

write in class OutputStream

参数。

参数名称参数描述
b要写入的字节。

write

public void write(byte[] b, int off, int len)

从偏移量off开始,将指定字节数的len字节写到这个字节数的输出流中。

重写:

write in class OutputStream

参数:

参数名称参数描述
b数据。
off数据中的起始偏移。
len要写入的字节数。

writeTo

public void writeTo(OutputStream out) throws IOException

将此字节数组输出流的全部内容写入指定的输出流参数,就像使用out.write(buf, 0, count)调用输出流的写入方法一样。

参数。

参数名称参数描述
out要写入数据的输出流。

Throws:

Throw名称Throw描述
IOException如果发生I/O错误。

reset

public void reset()

将这个字节数组输出流的count字段重置为0,这样,输出流中当前积累的所有输出都被丢弃了。该输出流可以再次使用,重新使用已经分配的缓冲空间。

toByteArray

public byte[] toByteArray()

创建一个新分配的字节数组。它的大小是这个输出流的当前大小,缓冲区的有效内容已经被复制到它里面。

返回。

这个输出流的当前内容,作为一个字节数组。

size

public int size()

返回缓冲区的当前大小。

返回:

count 字段的值,即此输出流中的有效字节数。

toString

public String toString()

使用平台的默认字符集将缓冲区的内容转换为字符串解码字节。 新字符串的长度是字符集的函数,因此可能不等于缓冲区的大小。

此方法始终使用平台默认字符集的默认替换字符串替换格式错误的输入和不可映射的字符序列。 当需要对解码过程进行更多控制时,应使用 CharsetDecoder 类。

覆盖:

类 Object 中的 toString

返回:

从缓冲区内容解码的字符串。

Since:

JDK1.1

toString

public String toString(String charsetName) throws UnsupportedEncodingException

通过使用命名字符集解码字节,将缓冲区的内容转换为字符串。 新字符串的长度是字符集的函数,因此可能不等于字节数组的长度。

此方法始终使用此字符集的默认替换字符串替换格式错误的输入和不可映射的字符序列。 当需要对解码过程进行更多控制时,应使用 CharsetDecoder 类。

参数:

参数名称参数描述
charsetName支持的字符集的名称

返回:

从缓冲区内容解码的字符串。

Throws:

Throw名称Throw描述
UnsupportedEncodingException如果不支持命名字符集

Since:

JDK1.1

toString

@Deprecated public String toString(int hibyte)

已弃用。 此方法不能正确地将字节转换为字符。 从 JDK 1.1 开始,执行此操作的首选方法是通过 toString(String enc) 方法,该方法接受一个 encoding-name 参数,或 toString() 方法,该方法使用平台的默认字符编码。

创建一个新分配的字符串。 它的大小是输出流的当前大小,并且缓冲区的有效内容已被复制到其中。 结果字符串中的每个字符 c 都是从字节数组中的相应元素 b 构造的,这样:

     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff)) 

参数:

参数名称参数描述
hibyte每个生成的 Unicode 字符的高字节。

返回:

输出流的当前内容,作为字符串。

close

public void close() throws IOException

关闭 ByteArrayOutputStream 无效。 可以在流关闭后调用此类中的方法,而不会生成 IOException。

指定者:

在接口 AutoCloseable 中关闭

指定者:

在接口Closeable中关闭

覆盖:

在类 OutputStream 中关闭

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/161482.html<

(0)
管理的头像管理
上一篇2025-03-18 06:05
下一篇 2025-03-18 06:07

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注