- IO流体系
InputStream、OutputStream及Reader、Writer都是抽象类。
- 字节流
- FileOutputStream
操作本地文件的字节输出流,可以把程序中的数据写到本地文件中。
- FileOutputStream字节输出流的细节
- 创建字节输出流对象
细节1:参数是字符串表示的路径或者是File对象都是可以的
细节2:如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的。
细节3:如果文件已经存在,则会清空文件
- 写数据
细节:write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字符,如:
‘9’
‘7’
续写:
如果想要续写,打开续写开关即可开关位置:创建对象的第二个参数,默认false:表示关闭续写,此时创建对象会清空文件。手动传递true:表示打开续写,此时创建对象不会清空文件,如下:
// 1.创建对象并设置为续写模式
FileOutputStream fos = new FileOutputStream("text/b.txt",true);
- 释放资源
每次使用完流之后都要释放资源
- IO Stream使用步骤:
①创建字节输出流对象
②写数据
③释放资源
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class IODemo1 {
public static void main(String[] args) throws IOException {
/*
使用步骤:
①创建字节输出流对象
②写数据
③释放资源
需求:字节输出流FileOutputStream
写一段文字到本地文件中。(暂时不写中文)
*/
// 1.创建对象
File file = new File("text\\a.txt");
// 如果文件不存在,则先新建
if (!file.exists()){
file.createNewFile();
}
// 2.创建输出流
FileOutputStream fos = new FileOutputStream(file);
// 3.写出数据
fos.write(97);
// 4.释放资源
fos.close();
}
}
- FileOutputStream基础知识小结
①创建字节输出流对象
细节1:参数是字符串表示的路径或者File对象都是可以的
细节2:如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的。
细节3:如果文件已经存在,则会清空文件
②写数据
细节:write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字符
③释放资源
细节:每次使用完流之后都要释放资源
- FileOutputStream写数据的3种方式
方法名称 | 说明 |
void write(int b) | 一次写一个字节数据 |
void write(byte[]b) | 一次写一个字节数组数据 |
void write(byte[]b,int off,int len) | 一次写一个字节数组的部分数据 |
关于write(byte[]b,int off,int len)函数:
- 参数一:数组
- 参数二:起始索引0
- 参数三:个数
- FileOutputStream小结
a.FileOutputStream的作用
可以把程序中的数据写到本地文件上,是字节流的基本流。
b.书写步骤
创建对象,写出数据,释放资源
c.三步操作的细节
创建对象:文件存在、文件不存在、追加写入
写出数据:写出整数、写出字节数组、换行写
释放资源:关闭通道