栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础04-字节流,字符流,转换流

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础04-字节流,字符流,转换流

IO流

在Java语言中 ,输入和输出都被成为抽象的流,流的本质是数据传输

根据处理类型的不同可分为:每个抽象类都有很多的具体实现类

  • 字节流(包含两个抽象类)
    • InputStream输入流
    • OutputStream输出流
  • 字符流(包含两个抽象类)
    • Reader(输入流)
    • Writer(输出流)

字符流和字节流最主要的区别:字符流在处理输入输出时用到了缓存,而字节流不会用到缓存

字符流 = 字节流 + 编码表

InputStream
  1. FileInputStream:读取文件的输入字节流

  2. BufferedInputStream:缓冲输入字节流

    该类内部就是维护一个8kb字节数组,目的是提高读取文件数据的效率

OutputStream
  1. FileInputStream:向文件输出数据的输出字节流

  2. BufferedInputStream:缓冲输出字节流

    该类内部就是维护一个8kb字节数组,目的是提高向文件写数据的效率

Reader
  1. FileReader:读取文件字符的输入字符流

  2. BufferedReader:缓冲输入字符流

    该类内部就是维护一个8192(2^13)个长度的字符数组并且扩展了功能( readLine()),目的是提高读取文件字符的效率

Writer
  1. FileWriter:向文件输出数据的输出字符流

  2. BufferedWriter:缓冲输出字符流

    该类内部就是维护一个8192(2^13)个长度的字符数组并且扩展了功能( newline()),目的是提高写文件字符的效率

注意:字符流在写入的时候必须刷新缓冲区,目的是提交。 close()前会自动flush()

问:什么情况使用字节流?什么情况使用字符流?

读取到数据不需要经过编码或解码的情况下使用字节流(例如,图片数据)

如果读写的都是字符数据,就使用字符流
转换流

InputStreamReader:输入字节流的转换流(默认编码:GBK)

输入字节流转换为输入字符流

OutputStreamWriter:输出字节流的转换流(默认编码:GBK)

输出字节流转换为输出字符流

转换流的作用:

  • 可以把对应的字节流转换成对应的字符流使用
  • 可以指定码表进行读写文件的数据(常用utf-8)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603496.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号