您的位置:首页 > Web前端

Java IO流 字符常用流:BufferedWriter详细解释

2015-08-21 20:04 453 查看
BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

下面为API上对BufferedWriter的介绍及方法摘要:

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

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

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

PrintWriter out
   = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));

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

方法摘要
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)


写入字符串的某一部分。
下面介绍一个例子:说明一下 通过调用方法实现对E盘haha文件中jie.doc中写入部分信息

import java.io.*;

public class BufferedWri {
public staticvoid main(String[] args){


BufferedWriter bw = null;
FileWriter fil = null;
try {

fil = new FileWriter("E:\\haha\\jie.doc");
bw = new BufferedWriter(fil);
bw.write("租赁信息");
bw.newLine();
bw.write("======================================================================");
bw.newLine();
bw.write("|\t编号\t|\t名称\t|\t租赁日期\t|\t返还日期\t|\t备注\t|");
bw.newLine();
bw.write("----------------------------------------------------------------------");
bw.newLine();
bw.write("\t001\t\t\t轿车\t\t20150820\t\t20150821\t\t给你");
//


} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
bw.close();


} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: