首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >IO总结

IO总结

作者头像
shimeath
发布2020-07-30 18:38:53
发布2020-07-30 18:38:53
4100
举报

一、步骤: 创建源 选择流 操作(读取|写出) 释放流

节点流:离数据源|程序最近的流 处理流:装饰模式 提高性能增强功能

  1. 字节流:可以处理一切(纯文本、音频、视频等)
  • 1)、输入流 InputStream FileInputStream ByteArrayInputStream 操作:read(字节数组)

  1. 中间容器 byte[] flush=new byte[长度]
  2. 接收长度 int len =0;
  3. 循环读取 while(-1!=(len=流.read(flush))){}
  4. 操作:输出、拷贝
  • 2)、输出流 OutputStream FileOutputStream ByteArrayOutputStream 操作:write(字节数组,0,长度) 输出
  1. 字符流:只能处理纯文本
  • 1)、输入流:Reader FileReader 操作:read(字符数组)

  1. 中间容器 char[] flush=new char[长度]
  2. 接收长度 int len =0;
  3. 循环读取 while(-1!=(len=流.read(flush))){}
  4. 操作:输出、拷贝
  • 2)、输出流:Writer FileWriter 操作:write(字符数组,0,长度) 输出

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

  1. 转换流:解码与编码字符集问题
  • 1)、输入流:InputStreamReader à解码
  • 2)、输出流:OutputStreamWriter—>编码
  1. 缓冲流:提高性能
  • 1)、输入流:BufferedInputStream BufferedReader
  • 2)、输出流:BufferedOutputStream BufferedWriter
  1. 处理数据+类型
  • 1)、基本+字符串:必须存在才能读取 读取与写出顺序一致

  1. 输入流:DataInputStream readXxx
  2. 输出流:DataOutputStream writeXxx
  • 2)、引用类型:Serializable transient

  1. 反序列化:ObjectInputStream readObject
  2. 序列化:ObjectOutputStream writeObject
  3. 打印流: PrintStream
  4. System.in out err setIn setOut

以下流使用新增方法不能发生多态 1、 ByteArrayOutputStream: toByteArray() 2、 BufferedReader: readLine() 3、 BufferedWriter:newLine() 4、 DataInputStream DataOutputStream 5、 ObjectInputStream ObjectOutputStream 6、 PrintStream

三、重点 四、操作 0、打印文件|目录 1、文件拷贝 2、关闭流方法 3、文件分割与合并(自学)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-01-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、步骤: 创建源 选择流 操作(读取|写出) 释放流
    • 节点流:离数据源|程序最近的流 处理流:装饰模式 提高性能增强功能
    • 处理流:装饰模式 提高性能增强功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档