日期:2014-05-20  浏览次数:20700 次

StringBuffer的delete方法怎么用
我现在有一个byte[] 每次存1600个字节,存一次用StringBuffer.append()加在后面,

那么我通过StringBuffer.delete(0,3)的方法,删除的是一个字节数组里面的前4个字节,还是删除的前4个字节数组。

------解决方案--------------------
可以用ByteArrayInputStream和ByteArrayOutputStream
比如
Java code
byte[] b1 = {1,2,3,4};
byte[] b2 = {5,6,7,8};

ByteArrayOutputStream bos = new ByteArrayOutputStream();
bos.write(b1, 0, b1.length);
bos.write(b2, 0, b2.length); 
byte[] b3 = bos.toByteArray(); //相当于b2接到b1后面,得到一个新的byte数组b3

ByteArrayInputStream bis = new ByteArrayInputStream(b3); 
int n = 0;
while ((n=bis.read()) != -1) { //从字节流中读入字节并输出
    System.out.println(n);
}