java字节流

字节流:
有两个根类:输入流:InputStream
输出流:OutputStream
这两个根类流都是抽象类
字节输出流:
OutputStream:方法
write(int by):写一个字节数据
write(byte[] by) :将by写到目的地
write(byte[] by,int index,int len):将by一部分数据写到目的地
close():关闭流
子类:FileOutputStream,文件输出流对象
构造方法:
FileOutputStream(File/String filename)
FileOutputStream(File/String, boolean append)
append:true表示不会覆盖文件,而是追加数据写到原有内容末尾
在这里插入图片描述
字节输入流:
字节输入流的根类:InputStream抽象类
方法:
int read():读取一个字节数据,如果读取到末尾返回-1.
int read(byte[] by):读取数据存储到by中,返回读取到的字节数,末尾返回-1
int read(byte[] by, int index,int len):读取数据存储到by的一部分中,返回读取到的字节数,末尾返回-1
close():关闭流
子类对象:
FileInputStream
构造方法:
FileInputStream(File/String filename)

在这里插入图片描述
复制文件:
读取原始文件数据,1,一个字节一个字节读取
2.使用字节数组
新文件中:写数据,来源于读取到的数据

在这里插入图片描述
字节缓冲流对象:
目的:提高字节数据的读写效率。
这对流本身不具体读写(不能直接读取数据源数据或将数据写到目的地)功能,仅仅是将能与数据源或目的地建立连接的流对象进行包装,从而提高效率。读的是缓冲区中的数据。写也是将数据写到缓冲区中。
缓冲输出流对象:
BufferedOutputStream:
new BufferedOutputStream(OutputStream)默认缓冲区大小是8192
BufferedOutputStream(OutputStream,int size)size:指的是指定缓冲区大小,
调用write将数据写到缓冲区中,最多一次写满8192,写满后将数据刷到目的地,如果没有写满,关闭流时将这些数据刷新到目的地。

在这里插入图片描述

缓冲输入流对象:
BufferedInputStream:
new BufferedInputStream(InputSream)默认缓冲区大小8192
new BufferedInputStream(InputSream,int size)size指的是指定缓冲区大小
调用read方法是从缓冲区读取一个字节数据并返回。缓冲区中的数据,使用基础流对象一次性读取8192个数据存储到缓冲区中

在这里插入图片描述
available():方法

在这里插入图片描述

close和fiush方法的区别:
close:关闭流,关闭后流不能在使用。关闭前会刷新数据到目的地
flush:将数据刷新到目的地,刷新后,流可以继续使用。
IO流的异常处理:

try(
流对象的创建
){
读写处理的代码
}catch(异常类型声明){

异常处理代码
}

在这里插入图片描述
这种格式不需要收到关闭流,执行完会自动关闭流对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值