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 }
原文:https://www.cnblogs.com/qiaoxin11/p/12602159.html