package chj.io1;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
/**
* 数据流:
* 1、写出后读取
* 2、读取顺序与写出数据保持一致
* DataInputStrewm&DataOutputStream
* @author Administrator
*
*/
public class DataTest01 {
public static void main(String[] args) throws IOException {
//写出
ByteArrayOutputStream baos=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(new BufferedOutputStream(baos));//遇到节点流记住最好加缓冲,提高效率
//操作数据类型+数据
dos.writeUTF("白日依山尽");
dos.writeInt(18);
dos.writeBoolean(false);
dos.writeChar('a');
dos.flush();
byte[] datas=baos.toByteArray();
//读取
DataInputStream dis=new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));
//读取顺序与写出一致!!!
String msg=dis.readUTF();
int age=dis.readInt();
boolean flag=dis.readBoolean();
char ch=dis.readChar();
System.out.println(msg+" "+age+" "+flag+" "+ch);
}
}
输出:
白日依山尽 18 false a