温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中byte数组操纵的方法

发布时间:2020-07-22 16:23:03 来源:亿速云 阅读:386 作者:小猪 栏目:开发技术

这篇文章主要讲解了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));
  }

看完上述内容,是不是对Java中byte数组操纵的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI