十一、数据流

  • 数据流将“基本数据类型与字符串类型”作为数据源,从而允许程序以与机器无关的方式从底层输入输出流中操作Java基本数据类型与字符串类型。
  • DataInputStream和DataOutputStream提供了可以存取与机器无关的所有Java基础类型数据(如:int、double、String等)的方法。
  • DataInputStream和DataOutputStream是处理流,可以对其他节点流或处理流进行包装,增加一些更灵活、更高效的功能。
 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 }

猜你喜欢

转载自www.cnblogs.com/qiaoxin11/p/12602159.html