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

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

}


你可能感兴趣的:(Java IO流 字符常用流:BufferedWriter详细解释)