我想要把依次取到的byte数组内容存到一个动态的byte数组中去,
比如:byte a []={(byte) 0x4E,(byte) 0x00},
存到 byte [] ss里去,byte ss []={(byte) 0x4E,(byte) 0x00},
又有 byte a []={(byte) 0x4E,(byte) 0x01},
再存 byte [] ss里去,byte ss []={(byte) 0x4E,(byte) 0x00,(byte) 0x4E,(byte) 0x01},如何实现?byte [] ss如何定义?

解决方案 »

  1.   

    用Arraylist,
    或者自己重新产生一个array,然后System.arraycopy()合并到此数组。
      

  2.   

    我知道System.arraycopy()可以合并数组就相当于缓冲区我想对最后的byte [] ss进行操作具体的算法不明白
      

  3.   

    static byte ss[];
    byte a []={(byte) 0x4E,(byte) 0x00};System.arraycopy(a,0,ss,0,a.length);
      

  4.   

    呵呵,数组一旦初始化(容量大小分配)就不能再修改容量,只能重新初始化。
    所以,用ArrayList代替。还快,又不用判断是否到末尾。
      

  5.   

    ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] a = {(byte) 0x4E,(byte) 0x00};
    baos.write(a);
    byte[] ss = baos.toByteArray(); // 此处得到 { 0x4E, 0x00 }a = {(byte) 0x4E,(byte) 0x01};
    baos.write(a);
    ss = baos.toByteArray(); // 此处得到 { 0x4E, 0x00, 0x4E, 0x01 }
      

  6.   

    我明白了非常感谢大家!maquan('ma:kju) 给的方法我会再好好看的