zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }

  • 相关阅读:
    python 模拟(简易)音乐播放器
    Python中的多态如何理解?(转)
    mysql踩得坑
    python简单模拟博客园系统
    04 信号量
    02 事件
    01 管道
    32 管道 事件 信号量 进程池 线程的创建
    02 验证进程之间是空间隔离的
    01 进程的其他方法
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/6918923.html
Copyright © 2011-2022 走看看