Java—IO流学习笔记(IO流部分流分类及成员方法)

一、 IO流概念

简单的说,就是将数据的传输操作(数据的输入输出),看做一种数据的流动。Java中的IO操作主要指的是java.io包下的一些常用类的使用,通过这些常用类对数据进行读取(输入Input)和写出(输出Output)。

二、 IO流的分类

按照流的方向可以分为输入流和输出流;按照流动的数据类型来分,可分为字节流和字符流。字节流分为输入流(顶级父类InputStream)和输出流(顶级父类OutStream),字符流分为输入流(顶级父类Reader)和输出流(顶级父类Writer)。

三、字节流和字符流的区别

字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。

(一)读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。

(二)处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。

(三)字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的;而字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。

四、字节流

(一)、输出字节流OutputStream

它是一个抽象类,是所有输出字节流的类的超类。其常用直接子类有:

1)、ByteArrayOutputStream、FileOutputStream是分别向Byte 数组、和本地文件中写入数据。
2)、PipedOutputStream 是向与其它线程共用的管道中写入数据。
3)、ObjectOutputStream 和所有FilterOutputStream的子类都是转换流(装饰流)。

OutputStream方法有:

1)、关闭次输出流并释放与此流关联的所有系统资源。

void close()

2)、刷新管道中的字节并强制输出。

void flush()

3)、将指定的4字节的int数据的低8bit写入此输出流。

void write(int b)

4)、将字节数组中的从off开始长度为len的字节写入此输出流 .

void write(byte[] b, int off, int len)

5)、将b.length长度的字节数组写入此输出流.

void write(byte[] b)

(二)、输入字节流 inputStream

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值