首页 > 代码库 > java io流 数据流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream

java io流 数据流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream

技术分享

例子程序:

package io;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;public class TestDataStream {    public static void main(String[] args) {        /**         * 在内存里创建一个字节数组,ByteArrayOutputStream这根管道是怼到了内存上         */        ByteArrayOutputStream baos = new ByteArrayOutputStream();        //将基本 Java 数据类型写入输出流中        DataOutputStream dos = new DataOutputStream(baos);        try {            //写入double类型,8个字节            dos.writeDouble(Math.random());            dos.writeBoolean(true);//布尔类型1个字节                        /**             * 相当于这根管道怼到了ByteArrayOutputStream上边。拿到了字节数组在内存的引用。             */            ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());            //输入流剩余可读字节数            System.out.println(bais.available());//一共9个字节                        DataInputStream dis = new DataInputStream(bais);                        System.out.println(dis.readDouble());            System.out.println(dis.readBoolean());            /**             * colse之后,内存的字节数组没了。             */            dos.close();            dis.close();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

 

技术分享

 

java io流 数据流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream