|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.io
类 BufferedWriter
java.lang.Object java.io.Writer java.io.BufferedWriter
- 所有已实现的接口:
- Closeable, Flushable, Appendable
-
public class BufferedWriter
- extends Writer
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性 line.separator 定义。并非所有平台都使用新行符 ('\n') 来终止各行。因此调用此方法来终止每个输出行要优于直接写入新行符。
通常 Writer 将其输出立即发送到基础字符或字节流。除非要求提示输出,否则建议用 BufferedWriter 包装所有其 write() 操作可能开销很高的 Writer(如 FileWriters 和 OutputStreamWriters)。例如,
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));将缓冲 PrintWriter 对文件的输出。如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字节,然后立即写入到文件,而这是极其低效的。
- 从以下版本开始:
- JDK1.1
- 另请参见:
-
PrintWriter
,FileWriter
,OutputStreamWriter
字段摘要 |
---|
从类 java.io.Writer 继承的字段 |
---|
lock |
构造方法摘要 | |
---|---|
BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。 |
|
BufferedWriter(Writer out, int sz) 创建一个使用指定大小输出缓冲区的新缓冲字符输出流。 |
方法摘要 | |
---|---|
void |
close() 关闭该流。 |
void |
flush() 刷新该流的缓冲。 |
void |
newLine() 写入一个行分隔符。 |
void |
write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 |
void |
write(int c) 写入单个字符。 |
void |
write(String s, int off, int len) 写入字符串的某一部分。 |
从类 java.io.Writer 继承的方法 |
---|
append, append, append, write, write |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
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
- 写入单个字符。
-
- 参数:
-
c
- 指定要写入字符的 int。 - 抛出:
-
IOException
- 如果发生 I/O 错误
write
public void write(char[] cbuf, int off, int len) throws IOException
-
写入字符数组的某一部分。
一般来说,此方法将给定数组的字符存入此流的缓冲区中,根据需要刷新该缓冲区,并转到基础输出流。但是,如果请求的长度至少与此缓冲区大小相同,则此方法将刷新该缓冲区并将各个字符直接写入基础流。因此多余的
BufferedWriter
将不必复制数据。 -
- 参数:
-
cbuf
- 字符数组 -
off
- 开始读取字符处的偏移量 -
len
- 要写入的字符数 - 抛出:
-
IOException
- 如果发生 I/O 错误
write
public void write(String s, int off, int len) throws IOException
-
写入字符串的某一部分。
如果 len 参数的值为负数,则不写入任何字符。这与超类中此方法的规范正好相反,它要求抛出
IndexOutOfBoundsException
。 -
- 参数:
-
s
- 要写入的字符串 -
off
- 开始读取字符处的偏移量 -
len
- 要写入的字符数 - 抛出:
-
IOException
- 如果发生 I/O 错误
newLine
public void newLine() throws IOException
- 写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 ('\n') 符。
-
- 抛出:
-
IOException
- 如果发生 I/O 错误
flush
public void flush() throws IOException
- 刷新该流的缓冲。
-
- 抛出:
-
IOException
- 如果发生 I/O 错误
close
public void close() throws IOException
- 关闭该流。
-
- 抛出:
-
IOException
- 如果发生 I/O 错误