1 import java.io.BufferedInputStream;
2 import java.io.BufferedOutputStream;
3 import java.io.ByteArrayInputStream;
4 import java.io.ByteArrayOutputStream;
5 import java.io.DataInputStream;
6 import java.io.DataOutputStream;
7 import java.io.IOException;
8
9 /**
10 * 数据流:
11 * 1、写出后读取
12 * 2、读取的顺序与写出保持一致
13 *
14 * DataOutputStream
15 * DataInputStream
16 * @author TW
17 *
18 */
19 public class DataTest {
20
21 public static void main(String[] args) throws IOException {
22 //写出
23 ByteArrayOutputStream baos =new ByteArrayOutputStream();
24 DataOutputStream dos =new DataOutputStream(new BufferedOutputStream(baos));
25 //操作数据类型 +数据
26 dos.writeUTF("编码辛酸泪");
27 dos.writeInt(18);
28 dos.writeBoolean(false);
29 dos.writeChar('a');
30 dos.flush();
31 byte[] datas =baos.toByteArray();
32 System.out.println(datas.length);
33 //读取
34 DataInputStream dis =new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));
35 //顺序与写出一致
36 String msg = dis.readUTF();
37 int age = dis.readInt();
38 boolean flag = dis.readBoolean();
39 char ch = dis.readChar();
40 System.out.println(flag);
41 }
42
43 }