日志文章

2019-12-24 aflfte2011

数据流的使用

package com.aflfte.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

/**
 * 数据流的使用
 * 1.先写出后读取
 * 2.读取顺序与写出顺序保持一致
 *
 * DataOutputStream 数据输出流
 * DataInputStream 数据输入流
 * @author root
 *
 */
public class DataTest {
    public static void main(String[] args) throws IOException {
        //先写入
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        DataOutputStream dos=new DataOutputStream(new BufferedOutputStream(baos));
        //操作数据类型+数据
        dos.writeUTF("编码辛酸泪");
        dos.writeInt(18);
        dos.writeBoolean(false);
        dos.writeChar('a');
        dos.flush();
        byte[] datas=baos.toByteArray();
        //后输出
        DataInputStream dis=new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));
        //读取顺序与写入顺序必须保持一致
        String msg=dis.readUTF();
        int in=dis.readInt();
        boolean bl=dis.readBoolean();
        char cha=dis.readChar();
        System.out.println(msg+"|"+in+"|"+bl+"|"+cha);
    }
}

« 对象流的使用 | 转换流使用方法»