- java.lang.Object
-
- java.io.Writer
-
- java.io.BufferedWriter
-
- 实现的所有接口
-
Closeable,Flushable,Appendable,AutoCloseable
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()方法都会导致字符转换为字节,然后立即写入文件,这可能效率很低。
-
-
构造方法摘要
构造方法 构造器 描述 BufferedWriter(Writer out)创建使用默认大小的输出缓冲区的缓冲字符输出流。BufferedWriter(Writer out, int sz)创建一个使用给定大小的输出缓冲区的新缓冲字符输出流。
-
-
-
构造方法详细信息
-
BufferedWriter
public BufferedWriter(Writer out)
创建使用默认大小的输出缓冲区的缓冲字符输出流。- 参数
-
out- 作家
-
BufferedWriter
public BufferedWriter(Writer out, int sz)
创建一个使用给定大小的输出缓冲区的新缓冲字符输出流。- 参数
-
out- 作家 -
sz- 输出缓冲区大小,正整数 - 异常
-
IllegalArgumentException- 如果是sz <= 0
-
-
方法详细信息
-
write
public void write(int c) throws IOException写一个字符。- 重写:
-
write类Writer - 参数
-
c- 指定要写入的字符的int - 异常
-
IOException- 如果发生I / O错误
-
write
public void write(char[] cbuf, int off, int len) throws IOException写一个字符数组的一部分。通常,此方法将给定数组中的字符存储到此流的缓冲区中,根据需要将缓冲区刷新到基础流。 但是,如果请求的长度至少与缓冲区一样大,则此方法将刷新缓冲区并将字符直接写入基础流。 因此冗余
BufferedWriter不会不必要地复制数据。- Specified by:
-
write类Writer - 参数
-
cbuf- 字符数组 -
off- 开始读取字符的偏移量 -
len- 要写入的字符数 - 异常
-
IndexOutOfBoundsException- 如果off为负数,或者len为负数,或者off + len为负数或大于给定数组的长度 -
IOException- 如果发生I / O错误
-
write
public void write(String s, int off, int len) throws IOException
写一个字符串的一部分。- 重写:
-
write类Writer - 实现要求:
-
而在此方法的规范superclass建议的
IndexOutOfBoundsException如果被抛出len为负或off + len为负,在这个类实现不扔在这些情况下,这样的异常,但不是简单地写任何字符。 - 参数
-
s- 要写入的字符串 -
off- 开始读取字符的偏移量 -
len- 要写入的字符数 - 异常
-
IndexOutOfBoundsException- 如果off为负数,或者off + len大于给定字符串的长度 -
IOException- 如果发生I / O错误
-
newLine
public void newLine() throws IOException写一个行分隔符。 行分隔符字符串由系统属性line.separator定义,不一定是单个换行符('\ n')。- 异常
-
IOException- 如果发生I / O错误
-
flush
public void flush() throws IOException刷新流。- Specified by:
-
flush,界面Flushable - Specified by:
-
flush类Writer - 异常
-
IOException- 如果发生I / O错误
-
-