1.继承关系图
首先了解一下 FileWriter 的继承关系图,熟悉他的位置:
FileWriter 是 OutputStreamWriter 的一个子类。
OutputStreamWriter 是 Writer 的一个子类。
2.API介绍
字符输出流
,就是将内容按字符从程序写入到文件中
。
/**
* 1.FileWriter :
* 如果文件存在,可以直接写入内容
* 如果文件不存在,则会先创建文件再写入内容
* 【注】FileWriter 的构造方法中,如果带有参数 true,则证明是追加的方式写入文件。
* 流在使用完毕后,一定要进行资源的关闭,就是要调用close方法。
* 【如果FileWriter不进行close()或者flush()的话,内容不会写入到文件中去!!!】
*/
/**
* 2.写入到文件中的方法:
* write(int) : 写入单个字符
* write(char) : 写入单个字符
* write(char[]) : 写入字符数组
* write(char[],off,len) : 写入字符数组的一部分,off:从哪儿开始,len:长度
* write(String) : 写入一个字符串
* write(String,off,len) : 写入字符串的一部分,off:从哪儿开始,len: 长度
*/
3.写入文件案例代码
package com.northcastle.writer_;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* author : northcastle
* createTime:2021/12/13
* 使用FileWriter向文件中写入内容
*/
public class ApplicationFileWriter {
public static void main(String[] args) {
//1.创建文件
String filePath = "D:\\EDailyRoutine\\java-io-test\\write01.txt";
File file = new File(filePath);
//2.创建字符输出流 FileWriter
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(file,true); // true 表示向文件中追加
fileWriter.write(97);// a
fileWriter.write('\n'); // 写一个换行
fileWriter.write('大');
fileWriter.write('\n'); // 写一个换行
char[] chars = {'大','家','好'};
fileWriter.write(chars);
fileWriter.write('\n'); // 写一个换行
fileWriter.write(chars,1,2); // 家,好
fileWriter.write('\n'); // 写一个换行
String str = "我喜欢学习java";
fileWriter.write(str);
fileWriter.write('\n'); // 写一个换行
fileWriter.write(str,2,6);
fileWriter.write('\n'); // 写一个换行
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fileWriter != null){
try {
fileWriter.close(); // 真正执行保存的地方
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
程序运行后,查看文件内容如下:
4.完成
Congratulations!
You are one step closer to success!