Java 中的 BufferedWriter 类详解

Java 中的 BufferedWriter 类主要用于向基于字符的输出流高效地写入文本。它在将字符写入目标位置之前,会先将其存储在缓冲区中。通过这种方式,它减少了实际 I/O 操作的次数,从而显著提高了性能。

  • 更快的写入速度: 它通过一次性写入大块数据来代替逐字符写入,极大地提升了效率。
  • 易于使用: 它提供了诸如 write()newLine() 等方法,简化了文本输出的操作。

类声明

> public class BufferedWriter extends Writer

BufferedWriter 类继承了 Writer 类,这意味着它是专门用于处理缓冲字符输出操作的子类。

示例: 将文本写入文件

Java


import java.io.*;

public class GFG{

public static void main(String[] args){

try {
BufferedWriter writer = new BufferedWriter(
new FileWriter("output.txt"));

writer.write("Hello, World!");
writer.newLine();
writer.write(
"This is written using BufferedWriter.");

writer.close();
System.out.println(
"File written successfully.");
}
catch (IOException e) {
System.out.println("An error occurred: "
+ e.getMessage());
}
}
}

**Output**
CODEBLOCK_9cfdd9b4
![output](https://media.geeksforgeeks.org/wp-content/uploads/20251104165433568104/output.png)output
****解释:**** 这个程序创建了一个 BufferedWriter,它包装了一个 FileWriter,以便高效地将文本写入 output.txt。write() 方法负责写入文本,而 newLine() 方法则插入一个换行符。

### BufferedWriter 类的构造函数

****1. BufferedWriter(Writer out): **** 使用指定的 Writer 创建一个缓冲字符输出流。

> BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"));

****2. BufferedWriter(Writer out, int size):**** 创建一个具有自定义缓冲区大小的缓冲字符输出流。

> BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"), 8192);

****示例:**** 将用户输入写入文件

Java

import java.io.*;

public class GFG{

public static void main(String[] args)

throws IOException{

BufferedReader reader = new BufferedReader(

new InputStreamReader(System.in));

System.out.print("Enter text to save in file: ");

String text = reader.readLine();

BufferedWriter writer = new BufferedWriter(

new FileWriter("userInput.txt"));

writer.write(text);

writer.close();

System.out.println(

"Text written successfully to userInput.txt");

}

}



Output:

!outputoutput

output.txt:

!outputoutput

BufferedWriter 类中的方法

方法

操作

close()

关闭流并释放系统资源。在关闭之前会先刷新缓冲区。

flush()

强制将所有缓冲的字符写入输出流。

newLine()

写入一个与平台相关的行分隔符。

write(int c)

写入单个字符。

write(char[] cbuf, int off, int len)

写入字符数组的一部分。

write(String s, int off, int len)

写入字符串的一部分。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49387.html
点赞
0.00 平均评分 (0% 分数) - 0