ByteArrayOutputStream源代码解析(解决乱码问题)

本文详述了ByteArrayOutputStream的源代码,重点介绍了如何避免写入int时出现乱码问题。内容涵盖变量解释,如数据存储区和计数器,以及关键方法,如`ensureCapacity`、`write(int b)`和`toString()`。在写入字节时,强调了`write(int b)`方法可能引发的乱码误解,并提醒读者正确使用`toString()`方法以避免编码问题。
摘要由CSDN通过智能技术生成

ByteArrayOutputStream源代码解析

博主最近在做数据写入方面的内容,顺便看了一下ByteArrayOutputStream的源代码,下面对源代码中的各个变量和方法进行一下介绍。

这个类主要是JDK中提供的对Byte类型数据进行写入的类,其实是一个中间缓存层,数据将通过这个类写入到文件等其他outputstream

如果遇到写int乱码问题,可直接参见write(int b)方法


变量

  • protected byte buf[] 这个是数据存储的地方
  • protected int count 这个是计数器,表示数据的个数
  • private static final int MAX_ARRAY_SIZE 这个表示buf的最大值,为Integer.MAX_VALUE - 8

主要方法

ensureCapacity

 private void ensureCapacity(int minCapacity) {
        // overflow-conscious code
        
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值