java 把字符串写入输出流_java.io.BufferedWriter

public class BufferedWriterextends

Writer

将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。

该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性 line.separator 定义。并非所有平台都使用新行符 ('\n') 来终止各行。因此调用此方法来终止每个输出行要优于直接写入新行符。

通常 Writer 将其输出立即发送到底层字符或字节流。除非要求提示输出,否则建议用 BufferedWriter 包装所有其 write() 操作可能开销很高的 Writer(如 FileWriters 和 OutputStreamWriters)。例如,

PrintWriter out

= new PrintWriter(new BufferedWriter(new FileWriter("foo.out"))); 将缓冲 PrintWriter 对文件的输出。如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字节,然后立即写入到文件,而这是极其低效的。

字段摘要

从类 java.io.Writer 继承的字段

构造方法摘要

方法摘要

void

void

void

void

写入字符数组的某一部分。

void

写入单个字符。

void

String s, int off, int len)

写入字符串的某一部分。

构造方法详细信息

BufferedWriter

public BufferedWriter(Writer out)

创建一个使用默认大小输出缓冲区的缓冲字符输出流。

参数:

out - 一个 Writer

BufferedWriter

public BufferedWriter(Writer out,

int sz)

创建一个使用给定大小输出缓冲区的新缓冲字符输出流。

参数:

out - 一个 Writer

sz - 输出缓冲区的大小,是一个正整数

抛出:

方法详细信息

write

public void write(int c)

throws IOException

写入单个字符。

参数:

c - 指定要写入字符的 int。

抛出:

write

public void write(char[] cbuf,

int off,

int len)

throws IOException

写入字符数组的某一部分。

一般来说,此方法将给定数组的字符存入此流的缓冲区中,根据需要刷新该缓冲区,并转到底层流。但是,如果请求的长度至少与此缓冲区大小相同,则此方法将刷新该缓冲区并将各个字符直接写入底层流。因此多余的 BufferedWriter 将不必复制数据。

参数:

cbuf - 字符数组

off - 开始读取字符处的偏移量

len - 要写入的字符数

抛出:

write

public void write(String s,

int off,

int len)

throws IOException

写入字符串的某一部分。

如果 len 参数的值为负数,则不写入任何字符。这与超类中此方法的规范正好相反,它要求抛出 IndexOutOfBoundsException。

参数:

s - 要写入的字符串

off - 开始读取字符处的偏移量

len - 要写入的字符数

抛出:

newLine

public void newLine()

throws IOException

写入一个行分隔符。行分隔符字符串由系统属性

line.separator 定义,并且不一定是单个新行 ('\n') 符。

抛出:

flush

public void flush()

throws IOException

刷新该流的缓冲。

抛出:

close

public void close()

throws IOException

从类

关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。

抛出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值