「这是我参与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的步骤:
- 创建BufferedWriter流对象,参数是Writer类的对象。可以是OutputStreamWriter的实例,也可以是FileWriter的实例。
- 使用write方法写入数据。
- 使用flush方法将缓冲区的数据强制写入文件中。
- 使用close方法关闭流资源,并将缓冲区的数据写入到文件中。
小结
以上就是我对BufferedWriter字符缓冲流的一些浅见,希望能对读者有所帮助,如有不正之处,欢迎留言指正。