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

    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 block
			e.printStackTrace();
		}finally{
			try {
				bw.close();
				
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值