实例解析Java byte数组操纵方式代码

字节数组的关键在于它为存储在该部分内存中的每个8位值提供索引(快速),精确的原始访问,并且您可以对这些字节进行操作以控制每个位。
坏处是计算机只将每个条目视为一个独立的8位数 - 这可能是你的程序正在处理的,或者你可能更喜欢一些强大的数据类型,如跟踪自己的长度和增长的字符串 根据需要,或者一个浮点数,让你存储说3.14而不考虑按位表示。
作为数据类型,在长数组的开头附近插入或移除数据是低效的,因为需要对所有后续元素进行混洗以填充或填充创建/需要的间隙。
java官方提供了一种操作字节数组的方法——内存流(字节数组流)ByteArrayInputStream、ByteArrayOutputStream
ByteArrayOutputStream——byte数组合并

/**

* 将所有的字节数组全部写入内存中,之后将其转化为字节数组

*/

public static void main(String[] args) throws IOException {

String str1 = "132";

String str2 = "asd";

ByteArrayOutputStream os = new ByteArrayOutputStream();

os.write(str1.getBytes());

os.write(str2.getBytes());

byte[] byteArray = os.toByteArray();

System.out.println(new String(byteArray));

}

ByteArrayInputStream——byte数组截取

/**

* 从内存中读取字节数组

*/

public static void main(String[] args) throws IOException {

String str1 = "132asd";

byte[] b = new byte[3];

ByteArrayInputStream in = new ByteArrayInputStream(str1.getBytes());

in.read(b);

System.out.println(new String(b));

in.read(b);

System.out.println(new String(b));

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xidianzxm

您的打赏是我继续创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值