java.lang.Object
java.io.Writer
java.io.BufferedWriter
- 所有已实现的接口:
-
Closeable
,Flushable
,Appendable
,AutoCloseable
向字符输出流写入文本,缓冲字符以便有效地写入单个字符、数组和字符串。
将缓冲PrintWriter的输出到文件。如果没有缓冲,每次调用print()方法都会导致字符转换为字节,然后立即写入文件,这可能非常低效。
可以指定缓冲区大小,也可以接受默认大小。默认大小足够大,适用于大多数情况。
提供了一个newLine()方法,该方法使用平台自己定义的行分隔符,由系统属性line.separator
定义。并非所有平台都使用换行字符('\n')来终止行。因此,最好调用此方法来终止每行输出,而不是直接写入换行字符。
一般来说,Writer会立即将其输出发送到底层字符或字节流。除非需要立即输出,建议在可能导致write()操作代价高昂的Writer周围包装一个BufferedWriter,例如FileWriters和OutputStreamWriters。例如,
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
- 自版本:
- 1.1
- 参见:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionBufferedWriter
(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。BufferedWriter
(Writer out, int sz) 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 -
Method Summary
-
Constructor Details
-
BufferedWriter
创建一个使用默认大小输出缓冲区的缓冲字符输出流。- 参数:
-
out
- 一个Writer
-
BufferedWriter
创建一个使用给定大小输出缓冲区的新缓冲字符输出流。- 参数:
-
out
- 一个Writer -
sz
- 输出缓冲区大小,正整数 - 抛出:
-
IllegalArgumentException
- 如果sz <= 0
-
-
Method Details
-
write
写入单个字符。- 覆盖:
-
write
在类中Writer
- 参数:
-
c
- 指定要写入的字符的int值 - 抛出:
-
IOException
- 如果发生I/O错误
-
write
写入字符数组的一部分。通常,此方法将给定数组中的字符存储到此流的缓冲区中,根据需要刷新缓冲区到底层流。但是,如果请求的长度至少与缓冲区一样大,则此方法将刷新缓冲区并直接将字符写入底层流。因此,多余的
BufferedWriter
不会不必要地复制数据。- 指定者:
-
write
在类中Writer
- 参数:
-
cbuf
- 一个字符数组 -
off
- 开始读取字符的偏移量 -
len
- 要写入的字符数 - 抛出:
-
IndexOutOfBoundsException
- 如果off
为负数,或len
为负数,或off + len
为负数或大于给定数组的长度 -
IOException
- 如果发生I/O错误
-
write
写入字符串的一部分。- 覆盖:
-
write
在类中Writer
- 实现要求:
-
虽然在超类中对此方法的规范建议如果
len
为负数或off + len
为负数,则抛出一个IndexOutOfBoundsException
,但是此类中的实现在这些情况下不会抛出异常,而是简单地不写入任何字符。 - 参数:
-
s
- 要写入的字符串 -
off
- 开始读取字符的偏移量 -
len
- 要写入的字符数 - 抛出:
-
IndexOutOfBoundsException
- 如果off
为负数,或off + len
大于给定字符串的长度 -
IOException
- 如果发生I/O错误
-
newLine
写入行分隔符。行分隔符字符串由系统属性line.separator
定义,不一定是单个换行符('\n')字符。- 抛出:
-
IOException
- 如果发生I/O错误
-
flush
刷新流。- 指定者:
-
flush
在接口中Flushable
- 指定者:
-
flush
在类中Writer
- 抛出:
-
IOException
- 如果发生I/O错误
-
close
从类中复制的描述:Writer
关闭流,首先刷新流。一旦流被关闭,进一步的write()或flush()调用将导致抛出IOException。关闭先前关闭的流没有任何效果。- 指定者:
-
close
在接口中AutoCloseable
- 指定者:
-
close
在接口中Closeable
- 指定者:
-
close
在类中Writer
- 抛出:
-
IOException
- 如果发生I/O错误
-