zoukankan      html  css  js  c++  java
  • IO流总结

    按方向来分有两种流:

      输入流和输出流,这两个通过相应的流的名字可以区分,例如InputStream和OutputStream,FileReader和FileWriter等等。

    按处理方式有两种流:

      字节流和字符流,字节流如InputStream和OutputStream,字符流例如FileReader和FileWriter。

    按作用来分也有两种:

      节点流和处理流

      节点流:节点流就是一个管道直接插到数据源上面,直接读取数据源上面的数据,或者直接往数据源里面写入数据。

    典型的节点流:文件流,例如:文件的字节输入流(FileInputStream),文件的字节输出流(FileOutputStream),文件的字符输入流(FileReader),文件的字符输出流(FileWriter)。

           

    处理流: 是对一个已存在的流的连接和封装,再通过这个封装的流实现数据调用和读写,通俗的说处理流就是包在别的流上面的流,相当于是包到别的管道上面的管道。

    常见的处理流有:

    1.缓冲流  BufferedImputStrean BufferedOutputStream BufferedReader BufferedWriter ----需要父类作为参数构造,增加缓冲功能,避免频繁读写硬盘,可以初始化缓冲数据的大小,由于带了缓冲功能,所以就写数据的时候需要使用flush方法

    2.转换流  InputStreamReader  OutputStreamWriter-  要inputStream 或OutputStream作为参数,实现从字节流到字符流的转换 

    3.数据流  *DataInputStream DataOutputStream -提供将基础数据类型写入到文件中,或者读取出来,为什么要有这个流呢?看这样的分析,如果没有这种流的话,有一个long,本身只占8个字节,如果我要写入到文件,需要转成字符串,然后在转成字符数组,那空间会占用很多,但是有了这种流之后就很方便了,直接将这8个字节写到文件就完了。。是不是既节约了内存空间有让程序写起来更加方便简单了呐。写倒是很简单,但是读取的时候就注意了,根据读取的数据类型,指针会往下移,所以你写的顺序必须要和读的顺序一致才能完成你正确的需求。 

  • 相关阅读:
    hdoj--2098--分拆素数和(水题)
    hdoj--5563--Clarke and five-pointed star(简单几何)
    zzulioj--1813--good string(模拟)
    docker(3)docker下的centos7下安装jdk
    docker(2)安装centos7镜像与容器管理
    docker安装
    大数据简介
    esper(1)-窗口概述
    idea(2)快捷键
    idea(1)-idea初装
  • 原文地址:https://www.cnblogs.com/uoar/p/7242398.html
Copyright © 2011-2022 走看看