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

来源:互联网 发布:mac忘记了管理员密码 编辑:程序博客网 时间:2024/06/07 01:04

    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() 方法会导致将字符转换为字节,然后立即写入到文件,而这是极其低效的。 

方法摘要 voidclose()
          关闭此流,但要先刷新它。 voidflush()
          刷新该流的缓冲。 voidnewLine()
          写入一个行分隔符。 voidwrite(char[] cbuf, int off, int len)
          写入字符数组的某一部分。 voidwrite(int c)
          写入单个字符。 voidwrite(String s, int off, int len)
          写入字符串的某一部分。

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

import java.io.*;public class BufferedWri {public static void 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 blocke.printStackTrace();}finally{try {bw.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}


0 0
原创粉丝点击