BufferedWriter类是Writer的子类,它为了提高效率,加入了缓冲技术,将字符读取对象作为参数。
缓冲区的出现是为了提高流的操作效率而出现的,所以在创建缓冲区之前,必须先要有流对象。
为了提高字符写入流的效率,加入的缓冲技术,在对象里面封装了数组,只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可,记住只要用到缓冲区就要刷新。关闭缓冲区,其实关闭缓冲区就是在关闭缓冲区中的流对象。
BufferedWriter类将一个常量值作为默认缓冲区的大小,它同时也可以通过构造函数来指定大小。
提供了newLine()方法,它使用自己的行分隔符概念,它是由系统自带的属性line.separator定义,并非使用换行符来终止行.
writer会立即将其输出发送到基础字符或字节流,所以在使用BufferedWriter来包装writer的子类可以提高输出的效率
在使用bufferedWriter类的write()方法时,数据并没有立刻写入输入流,而是首先进入缓存区中,如果想立刻将缓存区中的数据写入输出流,一定要调用flush()方法。
为了提高字符写入流的效率,加入的缓冲技术,在对象里面封装了数组,只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可,记住只要用到缓冲区就要刷新。关闭缓冲区,其实关闭缓冲区就是在关闭缓冲区中的流对象。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("./buff.txt");
BufferedWriter bw = new BufferedWriter(fw);
for (int x = 1 ; x<9;x++){
bw.write("abcd" + x);
bw.newLine();
bw.flush();
}
float[] obj_incre = new float[3];
obj_incre[0] = 1.0f;
obj_incre[1] = 2.0f;
obj_incre[2] = 3.0f;
String str = null;
StringBuilder str_result = new StringBuilder();
for (int i = 0; i < obj_incre.length; i++) {
str = Float.toString(obj_incre[i]) + " ";
str_result.append(str);
}
bw.write(String.valueOf(str_result));
bw.newLine();
bw.flush();
bw.close();
}
}