IO Summary

节点流:距离数据源最近的流

1.字节流:可以处理一切文件(文本/音频/视频等)

  1)输入流 InputStream FileInputStream ByteArrayInputStream

  • 操作:read(自己数组)
  • a)中间容器 byte[] flush = new byte[1024]
  • b)接收长度 int len = 0
  • c)循环读取 while(-1 != (len = 流.read(flush))){}
  • d)操作输出 拷贝
  2)输出流 OutputStream FileOutputStream ByteArrayOutputStream
  •      操作:write(字节数组,0,长度) 输出

2.字符流:只能处理纯文本文件

  1)输入流 Reader FileReader

  • 操作:read(字符数组)
  • a)中间容器 char[] flush = new char[1024];
  • b)接受长度 int len = 0
  • c)循环读取 while(-1 != (len=流.read(flush))){}
  • d)操作 输出 拷贝

  2) 输出流  Write FileWriter

  •  操作: write(字符数组,0,长度)输出

处理流:装饰模式 提高性能增强功能

1.转换流:解码与编码字符集问题

  • 1)输入流:InputStreamReader -->解码
  • 2)输出流:OutputStreamWriter-->编码

2.缓冲流:提高性能

  • 1)输入流:BufferedInputStream BufferReader
  • 2)输出流:BufferedOutputStream BufferedWriter

3.处理数据 + 类型 

  1)基本+字符串:必须存在才能读取 读取与写出顺序一致

  • a)输入流:DataInputStream  readXXX
  • b)输出流:DataOutputStream  writeXXX

  2)引用类型 Serializable transient

  • a)反序列化:ObjectInputStream readObject
  • b)序列化:ObjectOutputStream writeObject

4.打印流:PrintStream

5.System.in out err setIn setOut

以下流使用新增方法不能发生多态:

  • 1.ByteArrayOutputStream toByteArray()
  • 2.BufferReader readLine()
  • 3.BufferWrite  newLine()
  • 4.DataInputStream DataOutputStream
  • 5.ObjectInputStream ObjectOutputStream
  • 6.PrintSream



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值