• 保存数据和数据类型,方便后期直接获取数据类型而不用强转

  • 使得字符串以外的类型也能写进字节数组里

  • DataInputStream(字节流)和DataOutputStream(字节流)

  • 读取必须和写入的顺序一致

     //写出到字节数组
     ByteArrayOutputStream os=new ByteArrayOutputStream();
     DataOutputStream dos=new DataOutputStream(new BufferedOutputStream(os));
     
     //操作数据类型,加数据
     dos.writeUTF("哈哈哈");  //保存字符串
     dos.writeInt(18); 		//保存int类型
     dos.writeBoolean(false); //保存布尔类型
     dos.writeChar('q');		//保存char类型
     dos.flush();  //强制刷新,使数据读取到内存里(字节数组)
     
     byte[] datas=os.toByteArray();  //获取写入的数据
     //读取,顺序与写出保持一致,顺序不对会报错
     DataInputStream dis=new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)) );
     String s=dis.readUTF();
     int age=dis.readInt();
     boolean flag=dis.readBoolean();
     char ch=dis.readChar();