IO总结

来源:互联网 发布:测试书籍推荐知乎 编辑:程序博客网 时间:2024/05/16 10:36

知识点:
数据源:键盘、硬盘、内存、网络或程序
数据格式:ASCII字符串、Unicode字符串、图形、图像和声音
Java引入“流”以及有关的“流类”来处理数据输入/输出的复杂性。程序和外界的数据交换可以通过流来实现,当程序要从数据源获得数据时就在程序和数据源之间建立输入流对象;而当程序要把结果输送到数据宿时,就在程序和数据宿之间建立输出流。
java.io.File
java.io.InputStream
java.io.Outputstream
java.io.Reader
java.io.Writer
java.io.RandomAccessFile
★字节输入流/输出流类
             ByteArrayInputStream
             FileInputStream          DataInputStream
             PipedInputStream         BufferedInputStream
InputStream: FilterInputStream------- PushbackInputStream
             SequenceInputStream      CheckedInputStream
             ObjectInputStream        InflaterInputstream(压缩数据流类)
             StringBufferInputStream

              ByteArrayOutputStream
              FileOutputStream          DataOutputStream
              PipedOutputStream         BufferedOutputStream
OutputStream: FilterOutputStream------- DeflaterOutputStream(解压数据流类)
              SequenceOutputStream      CheckedOutputStream
              ObjectOutputStream        Printstream
              StringBufferOutputStream
定义自己的输入/输出包装类需要继承FilterInputstream/FilterOutputStream

★字符输入流/输出流类
         InputStreamReader----  FileReader
         BufferedReader
Reader   CharArrayReader------  LineNumberReader(读取一行数据返回行号)
         PipedReader
         FilterReader---------  PushbackReader
         StringReader

         OutputStreamWriter---- FileWriter
         CharArrayWriter
Writer   PipedWriter
         FilterWriter
         StringWriter
Decorator设计模式
在程序中用一个对象(the Decorator)包装另外的一个对象,这是一种被称为Decorator的设计模式

如果要设计自己的IO包装类,需要继承FilterXXX命名的类