IO流简介

什么是IO流

IO流是Java中的一个重要构成部分,也是我们经常打交道的。

数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input 和 输出output,即流向内存是输入流,流出内存的输出流。
Java中l/0操作主要是指使用 java.o 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据

IO流的分类

根据数据的流向分为:输入流和输出流。

  • 输入流 : 把数据从其他设备上读取到内存中的流。
  • 输出流: 把数据从内存中写出到其他设备上的流

格局数据的类型分为:字节流和字符流

  • 字节流 : 以字节为单位,读写数据的流
  • 字符流 : 以字符为单位,读写数据的流

注意:一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。

字节输出流的方法

字节输入流的方法

构造方法

字符流

字符流】:以字符为基本单位,读写数据的流

 字符输入流:以字符为基本单位,读数据
字符输出流:以字符为基本单位,写出数据

 - 字符输入流:顶层父类:Reader --> 抽象类   常见子类:FileReader
- 字符输出流:顶层父类:Writer --> 抽象类   常见子类:FileWriter

 

字符流的操作步骤

 是一个阅读字符文件的便利类,是专门处理字符文件的,比如txt文件。音频视频图片

是从字节流到字符流的桥:它读取字节,并使用指定的charset将其解码为字符 。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集

牵涉到解码,底层是字节流,但是会解码为字符。如果解码失败就意味着咱们读取失败了

一般不会使用字符流操作图片 音频 视频等,因为牵涉到解码。会出问题!!!

开发一般使用字节流!!!

注意:

字符流中可以写出中文String一般也是使用字符流来读取txt文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值