IO流

目录

 

一、流的分类

二、方法

三、字节流(以Stream结尾)

四、字符流(以Reader、Writer结尾)

五、字节流与字符流的转换

六、常用的过滤流

七、IO操作的一般步骤


 

一、流的分类

1)方向分:输入流,输出流(相对于虚拟机)

技巧:输入是读,输出是写

2)单位分:字节流,字符流

字节流:按字节来读,可以读所有类型的文件

字符流:按字符来读,只能操作文本类型文件

3)功能分:节点流,过滤流

节点流:完成数据读写

过滤流:为其他流增强功能

二、方法

输入流的方法主要是,有三个重载,

  • read():读一个字节,返回这个字节的整数值
  • read(byte[] b):读一个byte数组
  • read(byte[] b,int offset,int length):读byte数组中的一段,从offset开始读,读length长

输出流的方法主要是,有三个重载,与输入流对应

  • write(int b): 将指定的字节写入流中
  • write(byte[] b):将b.length字节从指定的字节数组写入此输出流中
  • write(byte[] b,int offset,int length):将指定的字节数组中的一段写入输出流中

三、字节流(以Stream结尾)

1)InputStream,OutputStream是所有字节流的父类,这俩个类是抽象类

2)文件字节流:FileInputStream,FileOutputStream

     缓冲字节流:BufferedInputStream,BufferedOutputStream

四、字符流(以Reader、Writer结尾)

1)字符流的作用:不是为了提高效率,而是为了提供便捷,可以操作字符串

永远是越接近底层的效率越高,越往上的牺牲执行效率而提高开发效率

2)Reader、Writer是所有字符流的父类,也是抽象类

3)文件字符流:FileReader、FileWriter

      缓冲字符流:BufferedReader、BufferedWriter

五、字节流与字符流的转换

将字节输入流转为字符输入流:InputStreamReader(InputStream in)

将字节输出流转为字符输出流:OutputStreamWriter(OutputStream)

六、常用的过滤流

以下过滤流都传入节点流做参数

1)缓冲流

  • BufferedInputStream
  • BufferedOutputStream

 2)数据过滤流:对八种基本数据类型,String等进行了支持

  • DataInputStream
  • DataOutputStream

3)对象序列化:需要实现Serializable 接口(可以操作对象)

  • ObjectInputStream
  • ObjectOutputStream

七、IO操作的一般步骤

  1. 创建节点流
  2. 包装过滤流
  3. 完成读写 
  4. 关闭流
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值