java IO流的全面解析

    xiaoxiao2025-03-20  15

    流的分类

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

    各种流

    Reader继承关系
    Reader,InputStreamReaderReader,InputStreamReader,FileReaderReader,BufferedReader
    Writer继承关系
    Writer,OutputStreamWriterWriter,OutputStreamWriter,FileWriterWriter,BufferedWriterWriter,PrintWriter
    InputStream继承关系
    InputStream,FileInputStreamInputStream,FilterInputStream,BufferedInputStreamInputStream,FilterInputStream,DataInputStream
    OutputStream继承关系
    OutputStream,FileOutputStreamOutputStream,FilterOutputStream,BufferedOutputStreamOutputStream,FilterOutputStream,DataOutputStream

    冷知识

    InputStream
    InputStream 是所有的输入字节流的父类,它是一个抽象类。ByteArrayInputStream、StringBufferInputStream、FileInputStream 是三种基本的介质流,它们分别从Byte 数组、StringBuffer、和本地文件中读取数据。PipedInputStream 是从与其它线程共用的管道中读取数据。ObjectInputStream 和所有FilterInputStream 的子类都是装饰流(装饰器模式的主角)。
    OutputStream
    OutputStream 是所有的输出字节流的父类,它是一个抽象类。ByteArrayOutputStream、FileOutputStream 是两种基本的介质流,它们分别向Byte 数组、和本地文件中写入数据。PipedOutputStream 是向与其它线程共用的管道中写入数据,ObjectOutputStream 和所有FilterOutputStream 的子类都是装饰流。
    Reader
    Reader 是所有的输入字符流的父类,它是一个抽象类。CharReader、StringReader 是两种基本的介质流,它们分别将Char 数组、String中读取数据。PipedReader 是从与其它线程共用的管道中读取数据。BufferedReader 很明显就是一个装饰器,它和其子类负责装饰其它Reader 对象。FilterReader 是所有自定义具体装饰流的父类,其子类PushbackReader 对Reader 对象进行装饰,会增加一个行号。InputStreamReader 是一个连接字节流和字符流的桥梁,它将字节流转变为字符流。FileReader 可以说是一个达到此功能、常用的工具类,在其源代码中明显使用了将FileInputStream 转变为Reader 的方法。我们可以从这个类中得到一定的技巧。
    Writer
    Writer 是所有的输出字符流的父类,它是一个抽象类。CharArrayWriter、StringWriter 是两种基本的介质流,它们分别向Char 数组、String 中写入数据。PipedWriter 是向与其它线程共用的管道中写入数据,BufferedWriter 是一个装饰器为Writer 提供缓冲功能。PrintWriter 和PrintStream 极其类似,功能和使用也非常相似。OutputStreamWriter 是OutputStream 到 Writer 转换的桥梁,它的子类FileWriter 其实就是一个实现此功能的具体类。功能和使用和OutputStream 极其类似

    一些资料

    https://blog.csdn.net/qq_37969433/article/details/79886751 https://blog.csdn.net/qq_37969433/article/details/79886991 http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html http://blog.csdn.net/wunai616568168/article/details/8285502 http://www.360doc.com/content/12/0408/15/9615799_201933000.shtml http://www.jfox.info/Java-zhong-liu-de-fen-lei-dou-you-na-xie http://www.jb51.net/article/44684.htm http://www.cnblogs.com/springcsc/archive/2009/12/03/1616375.html http://www.cnblogs.com/springcsc/archive/2009/12/03/1616375.html http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html http://www.2cto.com/kf/201312/262036.html

    转载请注明原文地址: https://ju.6miu.com/read-1297207.html
    最新回复(0)