IO流详解——BufferedWriter字符缓冲流

370 阅读2分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

本文主要介绍BufferedWriter字符缓冲流的基本概念和使用。

欢迎关注专栏IO流学习了解更多IO流。

BufferedWriter使用字符缓冲流写入文件

1.1 什么是BufferedWriter

BufferedWriter增强版的字符输出流。

1.2 BufferedWriter的构造方法

【构造方法】

BufferedWriter(Writer out) 
          创建一个使用默认大小输出缓冲区的缓冲字符输出流。 
BufferedWriter(Writer out, int size) 
          创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 

【实例展示】

String path = "FileDemo\src\main\java\FileDemo\1.txt";
File file=new File(path);
//默认缓冲区缓冲区大小(8192)
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
//指定缓冲区大小
BufferedWriter bw1 = new BufferedWriter(new FileWriter(file),1024);

OutputStreamWriter也是Writer的子类我们同样也可以使用该类的对象作为参数。

1.3 BufferedWriter的常用方法

BufferedWriter的常用方法除了几个重载的write方法和close方法外,我们还需要注意它得到特有方法newLine(),即在写入文件时添加换行。

常用方法
void close()
         关闭此流,但要先刷新它。
void flush()
         刷新该流的缓冲。
void newLine()
         写入一个行分隔符。
void write(char[] cbuf)
         写入字符数组。
void write(char[] cbuf, int off, int len)
         写入字符数组的某一部分。
void write(int c)
         写入单个字符。
void write(String str)
         写入字符串。
void write(String s, int off, int len)
         写入字符串的某一部分。
Writer append(char c)
         将指定字符添加到此 writer。

【实例展示】

char[] c = {'a','b','x'};
//写入单个字符
bw.write('a');
bw.append('a');
//写一个行分割符
bw.newLine();
//写入字符数组
bw.write(c);
//写入字符数组的一部分
bw.write(c,0,1);
//写入字符串
bw.write("我是BufferedWriter");
//写入字符串的一部分
bw.write("helloWorld",5,9);
//把缓冲区的内容写入文件中
bw.flush();
//关闭流资源并将缓冲区的内容写入到文件中
bw.close();

1.4 BufferedWriter小结

使用BufferedWriter的步骤:

  1. 创建BufferedWriter流对象,参数是Writer类的对象。可以是OutputStreamWriter的实例,也可以是FileWriter的实例。
  2. 使用write方法写入数据。
  3. 使用flush方法将缓冲区的数据强制写入文件中。
  4. 使用close方法关闭流资源,并将缓冲区的数据写入到文件中。

小结

以上就是我对BufferedWriter字符缓冲流的一些浅见,希望能对读者有所帮助,如有不正之处,欢迎留言指正。