关闭

io

72人阅读 评论(0) 收藏 举报
分类:

InputStream的作用是用来表示那些从不同数据源产生输入的类:包括

  1. 字节数组      ByteArray
  2. String对象   StringBuffer
  3. 文件            File
  4. 管道        Piped
  5. 一种由其他种类的流组成的序列   SequenceInputStream  (两个或多个InputStream对象转换成单一InputStream)

OutputStream决定了输出所要去的目标 

  1. 字节数组   ByteArray
  2. 文件     File
  3. 通道         Piped

装饰器类为FilterInputStream/FilterOutputStream

 FilterInputStream类型有2个功能:a.DataInputStream可以读取不同的基本类型数据以及String对象  b.其他FilterInputStream则在内部修改InputStream的行为方式:1是否缓冲2是否保留它所读过的夯3是否把单一字符推回输入流等

  1. DataInputStream
  2. BufferedInputStream
  3. LineNumberInputStream
  4. PushbackInputStream

无缓冲输入为特殊情况,一般都缓冲

FilterOutputStream类型

  1. DataInputStream
  2. PrintStream
  3. BufferedOutputStream

 

InputStreamReader/OutputStreamWriter 适配器模式

 Reader和Writer面向字符,兼容Unicode,目的为了提供国际化功能

PrintStream可视化打印所有的基本数据类型以及String对象

DataOutputStream的目的是将数据元素置入“流”中,是DataInputStream能够可移植地重构它们

使用readLine()时应该使用BufferedReader,除此种情况之外,DataInputStream认识IO类库的首选成员

自我独立的类

RandomAccessFile适用于由大小一致的记录组成的文件,可以使用seek()将记录从一处转移到另一处,然后读取或者修改,getFilePointer()查找当前所处的文件位置,搜寻方法只适用于文件。不是InputStream或OutputStream继承层次结构,实现了DataInput和DataOutput接口(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个继承层次结构没有任何关联。

 

标准io

System.in(未被包装,在读取System.in之前必须对其进行包装)、System.out、System.err(后两者被包装成了PrintStream)

总结

io中用到了装饰器模式和适配器模式 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1232次
    • 积分:183
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    阅读排行