将文本写入字符输出流并缓冲字符以便能提供单字符、数组和行的高效写入。
可指定缓冲区尺寸或接受缺省尺寸。该缺省尺寸对大多数用途来说是足够的。
提供了 newLine() 方法, 它使用系统自身的行分隔符概念作为系统定义的
line.separator 特性。并非所有平台使用换行符 ('\n') 来终止行。因此最好调用该方法来终止每个输出行而非直接写换行符。
一般, Writer 直接将其输出发送给基本字符或字节流。除非请求提示输出,建议将 BufferedWriter 和任何代价高昂 write() 操作的 Writer 打包,如
FileWriters 和 OutputStreamWriters 。例如,
PrintWriter out
= new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
将 PrintWriter 的输出缓冲到文件中。若无缓冲,则每个 print() 方法的调用将字符转换成字节,然后直接写入文件中,这是非常低效的。
类 java.io.BufferedWriter
类 java.io.BufferedWriter
java.lang.Object
|
+----java.io.Writer
|
+----java.io.BufferedWriter
- public class BufferedWriter
- extends Writer
- 出现于:
- JDK1.1
- 参见:
- PrintWriter, FileWriter, OutputStreamWriter
构造子索引
- BufferedWriter(Writer)
- 创建使用缺省尺寸输出缓冲区的缓冲字符输出流。
- BufferedWriter(Writer, int)
- 创建使用给定尺寸输出缓冲区的新的缓冲字符输出流。
方法索引
- close()
- 关闭流。
- flush()
- 刷新流。
- newLine()
- 写一个行分隔符。
- write(char[], int, int)
- 写入字符数组的一部分。
- write(int)
- 写入单个字符。
- write(String, int, int)
- 写入某 String 的一部分。
构造子
BufferedWriter
public BufferedWriter(Writer out)
- 创建使用缺省尺寸输出缓冲区的缓冲的字符输出流。
- 参数:
- out - 一个 Writer
BufferedWriter
public BufferedWriter(Writer out,
int sz)
- 创建使用给定尺寸输出缓冲区的新建缓冲字符输出流。
- 参数:
- out - 一个 Writer
- sz - 输出缓冲区尺寸, 正整数
- 抛出:
IllegalArgumentException
- 若 sz <= 0
方法
write
public void write(int c) throws IOException
- 写入单个字符。
- 抛出:
IOException
- 如果发生一 I/O 错误。
- 覆盖:
- 类
Writer 中的 write 。
write
public void write(char cbuf[],
int off,
int len) throws IOException
- 写入字符数组的一部分。
通常该方法将给定数组中的字符存储到该流的缓冲区中,需要时可将缓冲区刷新为基本输出流。若请求长度至少与该流的缓冲区同样大,则该方法将刷新缓冲区并直接将字符写入基本输出流。因此冗余的 BufferedWriter
不必复制不必要的数据。
- 参数:
- cbuf - 一个字符数组。
- off - 开始读数字符的偏移
- len - 写入的字符数
- 抛出:
IOException
- 如果发生一 I/O 错误。
- 覆盖:
- 类
Writer
中的 write 。
write
public void write(String s,
int off,
int len) throws IOException
- 写入某 String 的一部分。
- 参数:
- s - 待写入的 String
- off - 开始读取字符的偏移量
- len - 待写入的字节数
- 抛出:
IOException
- 如果发生一 I/O 错误。
- 覆盖:
- 类 Writer
中的
write 。
newLine
public void newLine() throws IOException
- 写一个行分隔符。行分隔符由系统特性 line.separator 定义且不必是一个单个换行 ('\n') 符。
- 抛出:
IOException
- 如果发生一 I/O 错误。
flush
public void flush() throws IOException
- 刷新流。
- 抛出:
IOException
- 如果发生一 I/O 错误。
- 覆盖:
- 类
Writer 中的
flush。
close
public void close() throws IOException
- 关闭流。
- 抛出:
IOException
- 如果发生一 I/O 错误。
- 覆盖:
- 类
Writer 中的
close 。