import java.io.ByteArrayOutputStream;public class TestByteArrayOutputStream{
public static void main(String args[]){
ByteArrayOutputStream b = new ByteArrayOutputStream();
b.write(3);
b.write(4);
b.write(5);
byte[] data = b.toByteArray();
int row=data.length;
for(int i=0;i<row;i++){
System.out.println(data[i]);
}
}
}
初学者,请问,toByteArray();返回的是一个字节数组,现在写了3个整数进去,而一个整数占4个字节,应该
data的长度是12才是,怎么是3?还能输出整数出来?
解决方案 »
- 这有几个选择题,大家帮我看下 在线等
- 怎么把一个窗口用两个面板分割?
- java与delphi中数据类型的对应关系
- 一个关于线程的问题
- 为什么java中一个文件中的几个类编译后会变成几个.class文件?
- 请问如何用eclipse调用第三方包?
- 求动态加载菜单和按钮的方法.100分感谢.
- JBuilder2005 通过Microsoft SQL Server 2000 Driver for JDBC 连接Microsoft SQL Server 2000 的配置问题,急啊
- 不知道那里有问题。。。请高手帮帮忙看一下。。。谢谢!在线等!
- 哪位给剖析一下这句 Super s = (Super)sub1; 我不是很懂
- java基础
- JAVA,猜数小程序求教~~
out.write((v >>> 24) & 0xFF);
out.write((v >>> 16) & 0xFF);
out.write((v >>> 8) & 0xFF);
out.write((v >>> 0) & 0xFF);
incCount(4);
}
int newcount = count + 1;
if (newcount > buf.length) {
buf = Arrays.copyOf(buf, Math.max(buf.length << 1, newcount));
}
buf[count] = (byte)b;
//如果我写的整数超过了byte的表示范围,后面的值就会被截去,这样保存或者
//得到的值就不准确,api上怎么不说啊?还是我理解错了?
count = newcount;
}
public static void main(String[] args) {
ByteArrayOutputStream o = new ByteArrayOutputStream();
o.write(128);
o.write(1000);
byte d[] = o.toByteArray();
System.out.println(d[0]); //打印-128 只写入一个字节。
System.out.println(d[1]); //打印-24 只写入一个字节。
}
throws IOException将指定的字节写入此输出流。write 的常规协定是:向输出流写入一个字节。要写入的字节是参数 b 的八个低位。b 的 24 个高位将被忽略。