IO流

IO流

  1. 针对程序而言,IO流即输入输出流

    输入:外部数据写入程序,例如编辑Word文档

    输出:程序中的数据传入外部设备,例如打开某个Word文档。

  2. 分类

    • 按流的方向分类:输入流,输出流

    • 按处理/传输的数据单元:字节流(名命上以Stream结尾),字符流(名命上以Reader/Writer结尾)

      ***使用什么流进行数据传输,就看源数据是以什么形式存在的

    • 按处理的对象不同分类:

      • 节点流:直接链接数据源的流对象。如FileputStreeam,FileReader,DataputStream等

      • 处理流:不直接连接到数据源或目的地,它们的作用是处理 “流”,如BufferedInputStream,BufferedReader等,处理流也叫包装流

        ***节点流处于IO操作的第一线,所有的操作都必须通过节点流进行,而处理流则可以对节点流进行包装,提高性能或提高程序的灵活性。

        image-20210426123515960

         

       

  3. 四大IO流:(所有IO类的抽象父类)

    注意:抽象类不可以实例化,数据的读取需要由它的子类去实现。

    • InputStream(以Stream都为以字节流方式输入或输出)

      • 常用方法

        1. int read():读取一个字节的数据,并将字节的值作为int 类型返回(1btye=8bit,故值的取值范围是0-255)

        2. void close();关闭输入流对象,释放相关系统资源

        用完IO流时要及时关闭IO流对象,以防造成系统资源的浪费

    • OutputStream(以字符流的方式输出)

      1. int write(int n):写入一个字节的数据,返回int型数据(1btye=8bit,故值的取值范围是0-255)

      2. void close();关闭输入流对象,释放相关系统资源

    • Reader(以字符流方式输入)

      1. int read();从流中读取一个字符的数据,返回一个int值(0-65535之间的一个值,即Unicode值)

      2. void close();关闭流对象,释放系统相关资源

    • Writer(以字符流方式输出)

      1. void write(int n) :向输出流中写入一个字符

      2. void close();关闭流对象

    Java.IO包下需掌握的流(16个)

    * 文件专属:

    java.io.FileInputStream

    java.io.FileOutputStream

    java.io.FileReader

    java.io.FileWriter

    * 转换流:

    java.io.InputStreamReader

    java.io.OutputStreamWriter

    * 缓冲流专属:

    java.io.BufferReader

    java.io.BufferWriter

    java.io.BufferInputStream

    java.io.BufferOutputStream

    * 数据流专属:

    java.io.DataInputStream

    java.io.DataOutputStream

    * 对象专属流:

    java.io.ObjectInputStream

    java.io.ObjectOutputStream

    * 标准输出流:

    java.io.PrintWriter

    java.io.PrintStream

     

     


     

     

posted @ 2021-04-29 11:50  安妍  阅读(55)  评论(0编辑  收藏  举报