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子类
    输出就是从内存中写出数据。

  • 相关阅读:
    寒假作业1实践题
    寒假作业1问答题
    (1.21)思考题
    [golang note] 匿名组合
    [golang note] 类型系统
    [golang note] 错误处理
    [golang note] 函数定义
    [golang note] 流程控制
    [golang note] 内建类型
    [golang note] 数组切片
  • 原文地址:https://www.cnblogs.com/wlm-boke/p/8524723.html
Copyright © 2011-2022 走看看