JAVA IO (1)

一、装饰者模式(decorator)

动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

(装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的目的)

 

 

 

java.io包中的装饰者

   抽象组件有:InputStream; OutputStream; Reader; Writer

 

二、流

Java中对文件的操作是以流的方式进行的。流是Java内存中的一组有序数据序列。Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了 流,然后将这些流还可以写到另外的目的地(文件、内存、控制台、网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分。

 

三、类分层结构

  • java.lang.Object
    • java.io.File (implements java.lang.Comparable<T>, java.io.Serializable)
    • java.io.FileDescriptor
    • java.io.InputStream (implements java.io.Closeable)
      • java.io.ByteArrayInputStream
      • java.io.FileInputStream
      • java.io.FilterInputStream
        • java.io.BufferedInputStream
        • java.io.DataInputStream (implements java.io.DataInput)
        • java.io.LineNumberInputStream
        • java.io.PushbackInputStream
      • java.io.ObjectInputStream (implements java.io.ObjectInput, java.io.ObjectStreamConstants)
      • java.io.PipedInputStream
      • java.io.SequenceInputStream
      • java.io.StringBufferInputStream
    • java.io.ObjectInputStream.GetField
    • java.io.ObjectOutputStream.PutField
    • java.io.ObjectStreamClass (implements java.io.Serializable)
    • java.io.ObjectStreamField (implements java.lang.Comparable<T>)
    • java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
      • java.io.ByteArrayOutputStream
      • java.io.FileOutputStream
      • java.io.FilterOutputStream
        • java.io.BufferedOutputStream
        • java.io.DataOutputStream (implements java.io.DataOutput)
        • java.io.PrintStream (implements java.lang.Appendable, java.io.Closeable)
      • java.io.ObjectOutputStream (implements java.io.ObjectOutput, java.io.ObjectStreamConstants)
      • java.io.PipedOutputStream
    • java.security.Permission (implements java.security.Guard, java.io.Serializable)
      • java.security.BasicPermission (implements java.io.Serializable)
        • java.io.SerializablePermission
      • java.io.FilePermission (implements java.io.Serializable)
    • java.io.RandomAccessFile (implements java.io.Closeable, java.io.DataInput, java.io.DataOutput)
    • java.io.Reader (implements java.io.Closeable, java.lang.Readable)
      • java.io.BufferedReader
        • java.io.LineNumberReader
      • java.io.CharArrayReader
      • java.io.FilterReader
        • java.io.PushbackReader
      • java.io.InputStreamReader
        • java.io.FileReader
      • java.io.PipedReader
      • java.io.StringReader
    • java.io.StreamTokenizer
    • java.lang.Throwable (implements java.io.Serializable)
      • java.lang.Exception
        • java.io.IOException
          • java.io.CharConversionException
          • java.io.EOFException
          • java.io.FileNotFoundException
          • java.io.InterruptedIOException
          • java.io.ObjectStreamException
            • java.io.InvalidClassException
            • java.io.InvalidObjectException
            • java.io.NotActiveException
            • java.io.NotSerializableException
            • java.io.OptionalDataException
            • java.io.StreamCorruptedException
            • java.io.WriteAbortedException
          • java.io.SyncFailedException
          • java.io.UnsupportedEncodingException
          • java.io.UTFDataFormatException
    • java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable)
      • java.io.BufferedWriter
      • java.io.CharArrayWriter
      • java.io.FilterWriter
      • java.io.OutputStreamWriter
        • java.io.FileWriter
      • java.io.PipedWriter
      • java.io.PrintWriter
      • java.io.StringWriter

接口分层结构

  • java.io.Closeable
  • java.io.DataInput
    • java.io.ObjectInput
  • java.io.DataOutput
    • java.io.ObjectOutput
  • java.io.FileFilter
  • java.io.FilenameFilter
  • java.io.Flushable
  • java.io.ObjectInputValidation
  • java.io.ObjectStreamConstants
  • java.io.Serializable
    • java.io.Externalizable
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值