跳到主要内容

Java Writer 类

提示
  1. Writer 类概述Writer 类是 java.io 包中的一个抽象超类,用于表示字符流。由于它是一个抽象类,我们不能直接创建它的实例,而是使用其子类如 BufferedWriterOutputStreamWriterFileWriterStringWriter
  2. 创建 Writer 实例:要创建 Writer 实例,首先需要导入 java.io.Writer 包,然后使用 Writer 的子类(例如 FileWriter)来创建对象,因为 Writer 本身是抽象的。
  3. Writer 类的方法Writer 类提供了多种方法供其子类实现,包括 write(char[] array)write(String data)append(char c)flush()close()。这些方法使得 Writer 可用于以字符流的形式写入数据到不同的目标如文件或字符串缓冲区。

java.io 包中的 Writer 类是一个表示字符流的抽象超类。

由于 Writer 是一个抽象类,它本身并不实用。然而,其子类可用于写入数据。

Writer 的子类

为了使用 Writer 的功能,我们可以使用其子类。其中一些子类包括:

BufferedWriter、InputStreamWriter 和 StringWriter 是 Writer 的子类。

我们将在下一个教程中了解这些子类的全部内容。

创建 Writer

要创建 Writer,我们首先需要导入 java.io.Writer 包。导入包之后,以下是我们可以创建 writer 的方法。

// 创建一个 Writer
Writer output = new FileWriter();

这里,我们使用 FileWriter 类创建了一个名为 output 的 writer。这是因为 Writer 是一个抽象类。因此我们不能创建 Writer 的对象。

注意:我们也可以从 Writer 类的其他子类创建 writer。

Writer 的方法

Writer 类提供了不同的方法,这些方法由其子类实现。以下是一些方法:

  • write(char[] array) - 将指定数组中的字符写入输出流
  • write(String data) - 将指定字符串写入 writer
  • append(char c) - 向当前 writer 中插入指定字符
  • flush() - 强制将 writer 中的所有数据写入相应目标
  • close() - 关闭 writer

示例:使用 FileWriter 的 Writer

以下是我们如何使用 FileWriter 类实现 Writer

import java.io.FileWriter;
import java.io.Writer;

public class Main {

public static void main(String args[]) {

String data = "这是输出文件中的数据";

try {
// 使用 FileWriter 创建 Writer
Writer output = new FileWriter("output.txt");


// 将字符串写入文件
output.write(data);

// 关闭 writer
output.close();
}

catch (Exception e) {
e.getStackTrace();
}
}
}

在上面的示例中,我们使用 FileWriter 类创建了一个 writer。该 writer 与文件 output.txt 相关联。

Writer output = new FileWriter("output.txt");

为了将数据写入 output.txt 文件,我们实现了这些方法。

output.write();      // 将数据写入文件
output.close(); // 关闭 writer

当我们运行程序时,output.txt 文件将填充以下内容。

这是文件中的一行文本。

要了解更多,请访问 Java Writer (官方 Java 文档)