欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IO流(字节流,字符流,缓冲流)

程序员文章站 2022-12-23 17:13:26
一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流 这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图: 二:字符字节,输入输出流的概念 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本 ......

一:io流的分类(组织架构)

  • 根据处理数据类型的不同分为:字节流和字符流
  • 根据数据流向不同分为:输入流和输出流

 

IO流(字节流,字符流,缓冲流)

    这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:

    IO流(字节流,字符流,缓冲流)

  二:字符字节,输入输出流的概念

     字符流和字节流

      字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:

  • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
  • 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。

      结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

     输入流和输出流

     对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流。 

三;字节流

     1:输入字节流inputstreamio --->fileinputstream

        IO流(字节流,字符流,缓冲流)

     2:输出字节流outputstream  --->fileoutputstream

      IO流(字节流,字符流,缓冲流)

四:字符流

     1:字符输入流reader --->filereader

    IO流(字节流,字符流,缓冲流)

     2:字符输出流writer  --->filewriter

    IO流(字节流,字符流,缓冲流)

 

五:字节流字符流之间的转换

  

    IO流(字节流,字符流,缓冲流)

   1: inputstreamreader是字节流同向字符流的桥梁,如果不指定字符编码,该解码过程将使用系统默认的字符编码: 如gbk:

   IO流(字节流,字符流,缓冲流)

   2:outputstream用于将写入的字符编码成字节后写入一个字节流。

    IO流(字节流,字符流,缓冲流)

六:缓冲流

    缓冲流也称为处理流,对文件或者其他目标频繁的操作,效率低,性能差。缓冲流目的是提高程序读取和写出的性能。缓冲流也分为字节缓冲流和字符缓冲流。

   使用缓冲流的好处是能够更高效的读写信息,原理是先将数据缓冲起来,然后一起写入或者读取出来。 

    1:缓冲字节输入流bufferedinputstream

    IO流(字节流,字符流,缓冲流)

    2:缓存字节输出流bufferoutputstream 

    IO流(字节流,字符流,缓冲流)

    3:缓冲字符输入流 bufferedreader

   IO流(字节流,字符流,缓冲流)

    4:缓冲字符输出流 bufferwriter

    IO流(字节流,字符流,缓冲流)