Java 中的 BufferedWriter 类主要用于向基于字符的输出流高效地写入文本。它在将字符写入目标位置之前,会先将其存储在缓冲区中。通过这种方式,它减少了实际 I/O 操作的次数,从而显著提高了性能。
类声明
> 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
****解释:**** 这个程序创建了一个 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 类中的方法
操作
—
关闭流并释放系统资源。在关闭之前会先刷新缓冲区。
强制将所有缓冲的字符写入输出流。
写入一个与平台相关的行分隔符。
写入单个字符。
写入字符数组的一部分。
写入字符串的一部分。