JAVA学习笔记21.12.4(参考黑马程序员B站视频)
作者:互联网
IO流
一、IO流概述和分类
1.概述
IO值的是输入和输出(input/output);流是一种抽象概念,是对数据传输的总称,也就是说数据在设备间的传输称为流,流的本质是数据传输。IO流就是用来处理设备间的数据传输问题,常见的应用有文件复制、上传和下载。
2.分类
1)按照数据的流向
- 输入流:读数据
- 输出流:写数据
2)按数据类型
- 字节流:输入字节流、输出字节流
- 字符流:输入字符流、输出字符流
注意:当数据通过Windows自带的记事本打开时,我们可以读懂里面的内容,我们就是用字符流,否则就是用字节流,当不知道是用哪种类型时就使用字符流。
二、字节流写数据
1.概述
字节流抽象基类:InputStream表示字节输入流的所有类的超类,Output表示字节输出流的所有类的超类,它们子类名都是以其父类名作为后缀的。
2.方法
1)FileOutputStream(String name):创建文件字节输出流以指定的名称写入文件
注意:该方法做了三件事:调用系统功能创建了文件;创建了字节输出流对象;让字节输出流指向创建好的文件
2)void write(int b):将指定的字节写入该字节输出流
3)void write(byte[] b):将数组中的字节写入该文件字节输出流,一次写一个字节数组数据
4)void write(byte[] b,int off,int len):将len个字节从指定的字节数组开始,从偏移量off开始写入此文件输出流,一次写一个字节数组的部分数据(off指数组的下标)
5)void colse():关闭文件输出流并释放此流相关的任何系统资源(程序结束时一定要调用该方法)
3.使用字节输出流的步骤
- 创建字节输出流对象
- 调用字节输出流的写数据方法
- 释放资源
三、字节流写数据的两个小问题
1.实现换行
写完数据后加上换行符,Windows的换行符是\r\n,Linux是\n,Mac是\r。
2.实现追加数据
使用FileOutputStream(String name,boolean append)方法,当append为true时,就从文件末尾开始写入数据,为false时就从文件开头写数据。
四、字节流写数据加异常处理
1.finally
在异常处理时提供finally块来执行所有清除操作,比如IO操作中的释放资源。
2.格式
try{
可能出现异常的代码;
}catch(异常类名 变量名){
异常处理代码;
}finally{
执行所有清除操作;
}
标签:输出,JAVA,字节,文件,写入,程序员,IO,21.12,数据 来源: https://blog.csdn.net/weixin_44087011/article/details/121715069