zoukankan      html  css  js  c++  java
  • 数据流和内存流


    在前面的学习中,我们知道数据流处理的数据都是指字节或字节数组,但实际上很多时候不是这样的,它需要数据流能直接读、写各种各样的java语言的基本数据类型。

    DataInputStreamDataOutputStream提供了可以直接存取java基本类型(intdouble等)的方法。对于存取基本类型,在效率上比普通字节流要快很多。它们分别继承inputStreamoutputStream,并且需要套接在InputStreamOutputStream上。

    例如在一个文件中存放300个整数值,从中读取时,希望按int为基本单位进行读取,这样可以大大节省时间。

    这时就需要使用DataInputStream和DataOutputStream,DataInputStream和DataOutputStream不但支持父类InputStream和OutputStream中的方法,以原有方式读写数据,同时还允许通过数据流来读写java语言的基本数据类型,包括int、float、double和double等。

    1,内存操作流的操作对象,一定是以内存为主准,不要以程序为准。

    2,实际上此时可以通过向上转型的关系,为OutputStreamInputStream.

    3,内存输出流在日后的开发中也是经常使用到,所以一定要重点掌握

    输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream
    ByteArrayInputStream:将内容写入到内存中,
    ByteArrayOutputStream:将内存中数据输出
    此时的操作应该以内存为操作点。
    利用此类 完成一些功能。
    常用方法
    ByteArrayInputStream :是InputStream子类。
    public class ByteArrayInputStream extends InputStream
    构造方法:
    ByteArrayInputStream(byte[] buf)
    创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
    接收一个byte数组,实际上内存的输入就是在构造方法上将数据传递到内存之中。
    ByteArrayOutputStream:是OutputStream子类
    输出就是从内存中写出数据。

  • 相关阅读:
    MyEclipse 中引用包的快捷键
    php中函数 isset(), empty(), is_null() 的区别
    Mysql sql_mode设置 timestamp default 00000000 00:00:00 创建表失败处理
    20190729 将博客搬至CSDN
    Python网络爬虫精要
    PhpStorm 头部注释、类注释和函数注释的设置
    asp.net 将内容导出EXCEL文件(转)
    C#中用GDI+生成饼状图和柱状图
    企业级架构、开发在软件中的定义
    C#中的装箱与拆箱的概念
  • 原文地址:https://www.cnblogs.com/wlm-boke/p/8524723.html
Copyright © 2011-2022 走看看