import java.io.*;
public class ByteArray{
public static void main(String[] args){
try{
ByteArrayOutputStream bao = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bao);
dos.writeDouble(Math.random());
ByteArrayInputStream bais = new ByteArrayInputStream(bao.toByteArray());
DataInputStream dis = new DataInputStream(bais);
System.out.println(dis.readDouble());
dos.close();dis.close();
}catch(IOException e){
System.out.println("error!");
}
}
}
为什么既要写ByteArrayOutputStream,还要写DataOutputStream呢?只写其中一个难道不行吗?感觉很奇怪啊,求朋友解答一下啊
ByteArrayOutputStream只能输出byte,用DataOutputStream包装可以输出更多的数据类型,只写其中一个不是不可以,那你要自己把你输出的类型转换成byte数组。
可以瞅下设计模式的装饰者模式