BufferedWriter类是文本缓存输出类,BufferedWriter类的父类是Writer类,BufferedWriter类具有缓存机制,工作原理和BufferedOutputStream类相同。
BufferedWriter类有默认的缓冲区空间,程序可以在类的构造函数中传入需要的缓冲区空间大小。
BufferedWriter类的构造函数如下:
● public BufferedWriter(Writer out)
该构造函数创建具有默认缓冲区空间的文本输出流。
● public BufferedWriter(Writer out, int sz)
该构造函数创建指定缓冲区空间大小的文本输出流。
Writer类的方法在《输入输出流》一课中已介绍,BufferedWriter类新增加了一个newLine ()方法,该方法说明如下:
● String newLine ()
该方法输出一个换行符到文本文件。
案例1:建立BufferedWriterTest测试类,使用BufferedWriter的write ()和newLine()方法写入数据到文本文件。
在buffer包下新建BufferedWriterTest类。代码如下:
package buffer;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* @ClassName: BufferedWriterTest
* @Description: 输入与输出(文本缓存输出类)案例1
* @author 编程训练营
* @date
*
*/
public class BufferedWriterTest {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
*
* @return void 返回类型 @throws
*/
public static void main(String[] args) {
String filename = "d:\\poetry.txt";
BufferedWriter bufferwriter = null;
try {
bufferwriter = new BufferedWriter(new FileWriter(filename));
bufferwriter.write("故人西辞黄鹤楼,");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("烟花三月下扬州。");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("孤帆远影碧空尽,");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("唯见长江天际流。");
// 关闭流
bufferwriter.close();
System.out.println("文件写入成功");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}案例代码在D盘下创建poetry.txt文本文件,并写入李白的一首诗,每写入一句诗,就调用newLine()方法写入一个换行符到文本文件。
写入的文本文件如下图所示: