字节流

发布于:2023-01-01 ⋅ 阅读:(214) ⋅ 点赞:(0)

.1 IO流概述和分类

IO流概述:
IO:输入/输出(input/ouput)
流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输

IO流就是用来处理设备间数据传输问题的
常见的应用:文件复制,文件上传,文件下载

按数据流向:输入流,输出流

输入流为读数据,输出流为写数据

按数据类型:字节输入流/输出流,字符输入流/输出流

一般来说是按数据类型来分的。

字节流抽象类基类:
1、InputStream:这个抽象类是表示字节输入流的所有类的超类
2、OutputStream:这个抽象类是表示字节输出流的所有类的超类
3、子类名特点:子类名称都是以其父类名作为子类名的后缀 

FileOutputStream:文件输出流用于将数据写入文件File

使用字节输出流写数据的步骤

1.创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
2.调用字节输出流对象的写数据方法
3.释放资源(关闭此输出流并释放与此流相关联的任何系统资源)

2.3 字节流写数据的3种方式

void write(int b)

将指定的字节写入到此文件输出流,一次写一个字节数据

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

将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流,一次写一个字节数组的部分数据

void write(byte[] b)

将b.length字节从指定的字节数组写入此文件输出流,一次写一个字节数组数据

2.4字节流写数据加异常处理

一般直接在外面包try{}catch{},但是会有一个问题,如果写入数据失败会运行catch的内容,但是close方法没有运行到也就是资源没有被释放。所以在io操作一定要保存内存被释放。

提供了finally块来执行所有清除操作

finally:在异常处理时提供finally块来执行所有清除的操作。比如io流中的资源释放。
特点:被finally块控制的语句一定会执行,除非JVM退出

2.5 字节流读数据

使用字节输入流读数据的步骤:

1.创建字节输入流对象
2.调用字节输入流对象的读数据方法
3.释放资源

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到