- 数据流将“基本数据类型与字符串类型”作为数据源,从而允许程序以与机器无关的方式从底层输入输出流中操作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 }