public class BufferedWriter
extends Writer
java.lang.Object | ||
↳ | java.io.Writer | |
↳ | java.io.BufferedWriter |
将文本写入字符输出流,缓冲字符以提供单个字符,数组和字符串的高效写入。
可以指定缓冲区大小,或者可以接受默认大小。 默认值对于大多数目的而言足够大。
提供了newLine()方法,该方法使用系统属性line.separator定义的平台自己的行分隔符概念。 并非所有平台都使用换行符('\ n')来终止行。 因此,调用此方法来终止每个输出行,因此优选直接写入换行符。
通常,Writer将其输出立即发送到底层字符或字节流。 除非需要提示输出,否则建议在Write()操作可能代价高昂的Writer周围包装BufferedWriter,例如FileWriters和OutputStreamWriters。 例如,
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));will buffer the PrintWriter's output to the file. Without buffering, each invocation of a print() method would cause characters to be converted into bytes that would then be written immediately to the file, which can be very inefficient.
Inherited fields |
---|
From class java.io.Writer
|
Public constructors |
|
---|---|
BufferedWriter(Writer out) 创建使用默认大小输出缓冲区的缓冲字符输出流。 |
|
BufferedWriter(Writer out, int sz) 创建使用给定大小的输出缓冲区的新缓冲字符输出流。 |
Public methods |
|
---|---|
void |
close() 关闭小溪,首先冲洗它。 |
void |
flush() 刷新流。 |
void |
newLine() 写一个行分隔符。 |
void |
write(int c) 写一个字符。 |
void |
write(String s, int off, int len) 写入一部分字符串。 |
void |
write(char[] cbuf, int off, int len) 写入一个字符数组的一部分。 |
Inherited methods |
|
---|---|
From class java.io.Writer
|
|
From class java.lang.Object
|
|
From interface java.lang.Appendable
|
|
From interface java.io.Closeable
|
|
From interface java.io.Flushable
|
|
From interface java.lang.AutoCloseable
|
BufferedWriter (Writer out)
创建使用默认大小输出缓冲区的缓冲字符输出流。
Parameters | |
---|---|
out |
Writer : A Writer |
BufferedWriter (Writer out, int sz)
创建使用给定大小的输出缓冲区的新缓冲字符输出流。
Parameters | |
---|---|
out |
Writer : A Writer |
sz |
int : Output-buffer size, a positive integer |
Throws | |
---|---|
IllegalArgumentException |
If sz is <= 0 |
void close ()
关闭小溪,首先冲洗它。 一旦流被关闭,进一步的write()或flush()调用将导致抛出IOException异常。 关闭以前关闭的流不起作用。
Throws | |
---|---|
IOException |
void newLine ()
写一个行分隔符。 行分隔符字符串由系统属性line.separator定义,并不一定是单个换行符('\ n')字符。
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (int c)
写一个字符。
Parameters | |
---|---|
c |
int : int specifying a character to be written |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (String s, int off, int len)
写入一部分字符串。
如果参数len的值为负数,则不写入任何字符。 这与superclass中的该方法的规范相反,这要求抛出IndexOutOfBoundsException
。
Parameters | |
---|---|
s |
String : String to be written |
off |
int : Offset from which to start reading characters |
len |
int : Number of characters to be written |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (char[] cbuf, int off, int len)
写入一个字符数组的一部分。
通常,此方法将给定数组中的字符存储到此流的缓冲区中,并根据需要将缓冲区刷新到基础流。 但是,如果所请求的长度至少与缓冲区一样大,那么此方法将刷新缓冲区并将字符直接写入基础流。 因此冗余BufferedWriter
不会不必要地复制数据。
Parameters | |
---|---|
cbuf |
char : A character array |
off |
int : Offset from which to start reading characters |
len |
int : Number of characters to write |
Throws | |
---|---|
IOException |
If an I/O error occurs |