IO 流知识点

IO流也称为输入、输出流,就是用来读写数据的。

每次读取一个字节存在什么问题?

        性能较慢

        读取中文字符输出无法避免乱码问题

如何使用字节输入流读取中文内容输出不乱码呢?

        定义一个与文件一样的的字节数组,一次性读取完文件的全部字节。

直接把文件数据全部读取到一个字节数组可以避免乱码,是否存在问题?

        如果文件过大,字节数组可能引起内存溢出。

字节流适合做一切文件数据的拷贝吗?

        任何文件的底层都是字节,拷贝是一字不漏的转移字节,只要前后文件格式、编码一致没有任何问题。

字符流的好处,每次读取一个字符存在什么问题?

        读取中文字符不会出现乱码(如果代码和文件编码一致)

        性能较慢

缓冲流概述

        缓冲流也成为高效流、或者高级流。之前学习的字节流可以成为原始流。

        作用:缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能。

字节缓冲流优化原理:

        字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能较好。

        字节缓冲输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,写数据性能较高。

字符缓冲输入流:

        作用:提高字符输入流读取数据的性能,除此之外多了按照行读取数据的功能。

字符缓冲输出流:

        作用:提高字符输出流写数据的性能,除此之外多了换行功能。

对象序列化:
        作用:以内存为基准,把内存中的对象存储到磁盘文件中去,称为对象序列化

        使用到的流是对象字节输出流:ObjectOutputStream

对象反序列化:

        作用:以内存为基准,把存储到磁盘文件中去的对象数据恢复成内存中的对象,成为对象反序列化。

        使用到的流是对象字节输入流:ObjectInputStream

打印流:

        作用:打印流可以实现方便、高效的打印数据到文件中去。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值