动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

IO流的操作规律总结

05-26 17:15 703浏览
举报 T字号
  • 大字
  • 中字
  • 小字

 IO流中对象很多,解决问题(处理设备上的数据时)到底该用哪个对象呢?下面我们把IO流的操作进行了规律的总结:

1.要操作的数据是数据源还是数据目的。

  • 源:InputStream Reader
  • 目的:OutputStream Writer
  • 先根据需求明确要读,还是要写。

2.要操作的数据是字节还是文本呢?

  • 源:
  • 字节:InputStream
  • 文本:Reader
  • 目的:
  • 字节:OutputStream
  • 文本:Writer
  • 已经明确到了具体的体系上。

3.明确数据所在的具体设备。

  • 源设备:
  • 硬盘:文件 File开头。
  • 内存:数组,字符串。
  • 键盘:System.in;
  • 网络:Socket
  • 目的设备:
  • 硬盘:文件 File开头。
  • 内存:数组,字符串。
  • 屏幕:System.out
  • 网络:Socket
  • 完全可以明确具体要使用哪个流对象。

4.是否需要额外功能呢?

  • 额外功能:
  • 转换吗?转换流。InputStreamReader OutputStreamWriter
  • 高效吗?缓冲区对象。BufferedXXX

5.字节流

字节输入流 InputStream

  • FileInputStream 操作文件的字节输入流
  • BufferedInputStream高效的字节输入流

字节输出流 OutputStream

  • FileOutputStream 操作文件的字节输出流
  • BufferedOutputStream 高效的字节输出流

6.字符流

字符输入流 Reader

  • FileReader 操作文件的字符输入流
  • BufferedReader 高效的字符输入流
  • InputStreamReader 输入操作的转换流(把字节流封装成字符流)

字符输出流 Writer

  • FileWriter 操作文件的字符输出流
  • BufferedWriter 高效的字符输出流
  • OutputStreamWriter 输出操作的转换流(把字节流封装成字符流)

读数据方法:

  • read() 一次读一个字节或字符的方法
  • read(byte[] char[]) 一次读一个数组数据的方法
  • readLine() 一次读一行字符串的方法(BufferedReader类特有方法)
  • readObject() 从流中读取对象(ObjectInputStream特有方法)

写数据方法:

  • write(int) 一次写一个字节或字符到文件中
  • write(byte[] char[]) 一次写一个数组数据到文件中
  • write(String) 一次写一个字符串内容到文件中
  • writeObject(Object ) 写对象到流中(ObjectOutputStream类特有方法)
  • newLine() 写一个换行符号(BufferedWriter类特有方法)

7.向文件中写入数据的过程

1)创建输出流对象

2)写数据到文件

3)关闭输出流

8..从文件中读数据的过程

  • 创建输入流对象
  • 从文件中读数据
  • 关闭输入流

9.文件复制的过程

  • 创建输入流(数据源)
  • 创建输出流(目的地)
  • 从输入流中读数据
  • 通过输出流,把数据写入目的地
  • 关闭流

以上就是动力节点在线为大家总结的9条IO流的操作规律,也算是一部分的IO流使用技巧,只要我们掌握了这些规律,就能够在IO流相关的操作上节省时间,提高效率。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵498
程序员代码小兵498

153篇文章贡献528999字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消