Java的IO流

什么叫流

  •   流就是程序和设备之间嫁接起来的一根用于数据传输的管道,这个管道上有很多按钮,不同的按钮可以实现不同的功能!
  •   这根带有按钮的用于数据传输的管道就是流!

四大基本抽象流

  1. 字节输入流:InputStream
  2. 字节输出流:OutputStream
  3. 字符输入流:Reader
  4. 字符输出流:Writer

注:抽象流实质上就是抽象类,实际上使用到的是继承于它们的子类!FileInputStream、FileOutputStream、FileReader、FileWriter

流的分类标准

  1. 按数据流的方向不同可以分为输入流(读入程序)和输出流(写入外部文件)
  2. 按处理数据单位不同可以分为字节流和字符流
  3. 按功能不同可以分为节点流(原始流)和处理流(包裹流)

注:节点流为可以从一个特定的数据源(节点)读写数据(如文件、内存)

处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能

字节流和字符流的区别

FileInputStream、FileOutputStream为字节流,一次读取一个字节,可用于所有格式的读写,但是在控制台输出中文字符会有乱码

FileReader、FileWriter为字符流,一次读取一个字符(两个字节),可用于文本文件的读写,但是不能用于非文本文件的读写,因为非文本文件就不是字符(编码问题)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 提升文件的读写效率--缓冲流

    爱学习的孙小白
  • zookeeper集群的搭建

    在hadoop101、hadoop102和hadoop103,这三个节点上部署Zookeeper。

    爱学习的孙小白
  • Java之字符流读写文件、文件的拷贝

    爱学习的孙小白
  • 计算机程序的思维逻辑 (6) - 如何从乱码中恢复 (上)?

    我们在处理文件、浏览网页、编写程序时,时不时会碰到乱码的情况。乱码几乎总是令人心烦,让人困惑。希望通过本节和下节文章,你可以自信从容地面对乱码,恢复乱码。 谈...

    swiftma
  • java IO流之一 IO流介绍

         IO流指 的是输入输出流,用来处理设备上的数据。这里的设备指硬盘,内存,键盘录入,网络传输等。

    bear_fish
  • 瀚思获1亿元B轮融资,基于数据分析技术做企业智能安全大脑

    今年7月25日,瀚思宣布完成B轮融资,金额为1亿元人民币。在之前的媒体沟通会上,瀚思创始人兼CEO高瀚昭对当前安全市场的发展态势,最新发布的企业安全智能平台——...

    数据猿
  • 动图学 JavaScript 之:作用域链(Scope Chain)

    上面调用了函数 getPersonInfo,然后返回了一个包含 name,age,city 的字符串:

    savokiss
  • Celery分布式任务队列插件Celery - Distributed Task Queue

    http://docs.celeryproject.org/en/latest/index.html Celery - Distributed Task Que...

    SeanCheney
  • C语言编程入门之--第六章C语言控制语句

    导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习...

    啊源股
  • an example of Ascii using 问号 as example

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券