21-IO流-12-IO流(字符流-缓冲区-BufferedWriter)

来源:互联网 发布:帝国cms企业网站模板 编辑:程序博客网 时间:2024/06/05 10:08
/* * 打开API,找到java.io包,点进BufferedWriter, *  * 【类名】public class BufferedWriter extends Writer * 【功能】将文本写入字符输出流,缓冲各个字符,从而提供【单个字符】、【数组】和【字符串】的高效写入。 * 该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性 line.separator 定义。并非所有平台都使用 * 新行符 ('\n') 来终止各行。因此调用此方法来终止每个输出行要优于直接写入新行符。 *  * 【构造方法之一】 * BufferedWriter(Writer out):创建一个使用默认大小输出缓冲区的缓冲字符输出流。 * (这里需要指定out因为要明确需要被缓冲的数据<其实就是:流>,就相当于你去超市,光推着车,没有需要买的东西一样,有什么用?) *  * 【构造方法之二】 * BufferedWriter(Writer out,int sz):创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 *  * 【方法摘要】 * (1)void close():关闭 * (2)void flush():刷新 * (3)void newLine():写入一个行分隔符 * (4)void write(char[] cbuf,int off,int len):写入字符数组的某一部分 * (5)void write(int c):写入单个字符 * (6)void write(String s,int off,int len):写入字符串的某一部分 */package bufferedwriter.demo;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class BufferedWriterDemo {public static void main(String[] args) throws IOException {/*老方法:效率低FileWriter fw = new FileWriter("buf.txt");fw.write("abcd");fw.close();*///为了提高效率,使用字符流的缓冲区//先创建需要被缓冲的流FileWriter fw = new FileWriter("buf.txt");//创建一个字符写入流的缓冲区对象,并和指定要被缓冲的流对象关联。BufferedWriter bufw = new BufferedWriter(fw);//使用【缓冲区】的写入方法,将数据先写入到缓冲区中。for (int x = 0; x < 4; x++) {bufw.write("x="+x);bufw.newLine();//换行操作//注意,该方法是BufferedWriter特有的,而System.getProperty("line.separator")方法在哪里都能用,更为普遍//使用【缓冲区】的刷新方法,将数据刷入目的地中。bufw.flush();}//关闭缓冲区。bufw.close();//注意:只要是使用了缓冲区,下面一律用缓冲区方法操作。//【特别注意】缓冲区一旦关闭,相应的流对象也被一起关闭。若在上一行代码后面,加上fw.write("haha");则会抛出IO异常}}/* * 以上程序在当前目录下,新建一个名为buf的文本文件,其内容如下: *  * x=1 * x=2 * x=3 * x=4 */

0 0
原创粉丝点击