1.继承关系图
首先了解一下 BufferedWriter 的继承关系图,熟悉他的位置:
BufferedWriter是 Writer 的一个子类。
2.API 介绍
BufferedWriter,一个
字符
输出流。
它有一个Writer 类型的属性,可以对Writer 类型的对象进行扩展。
【此处使用到的就是装饰器模式
】
/**
* BufferedWriter 字符处理流 :
* 作用 : 写入文本文件,本质是对节点流的一层包装,使功能使用更方便
* 注意 : 在关闭流时,只需要关闭最外层的处理流即可(源码中就是把内层的节点流给关掉了)。
* 主要方法 :
* write(String content): 写一行的文件(不带换行符)
* newLine() : 写入一个换行符,随系统一致的
*
*/
3.文件输出案例代码
3.1 输出的文件内容
文件路径 :
D:\EDailyRoutine\java-io-test\bufferedWriter01.txt
3.2 write() 方法
package com.northcastle.writer_;
import java.io.*;
public class ApplicationBufferedWriter {
public static void main(String[] args) {
//1.准备一个文件对象,数据的写入位置
String filePath = "D:\\EDailyRoutine\\java-io-test\\bufferedWriter01.txt";
File file = new File(filePath);
//2.声明+创建一个节点流对象
FileWriter fileWriter = null;
//3.声明+创建一个处理流对象
BufferedWriter bufferedWriter = null;
try {
fileWriter = new FileWriter(file,false); // 实例化节点流
bufferedWriter = new BufferedWriter(fileWriter);// 实例化处理流
//4.向文件中写入内容
bufferedWriter.write("开始向文本文件中写入内容");
bufferedWriter.newLine(); // 换行
bufferedWriter.write("内容是追加的");
bufferedWriter.newLine();
bufferedWriter.newLine();
bufferedWriter.newLine();
bufferedWriter.write("----------------------");
bufferedWriter.newLine();
bufferedWriter.newLine();
bufferedWriter.newLine();
System.out.println("写入完成!");
} catch (IOException e) {
e.printStackTrace();
}finally {
//5.关闭处理流
if (bufferedWriter != null){
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
运行结果:
可以正常写入内容到文件中
开始向文本文件中写入内容
内容是追加的
----------------------
4.完成
Congratulations!
You are one step closer to success!