跳到主要内容

Java OutputStream 类

提示
  1. OutputStream 类概述OutputStream 类是 java.io 包中的抽象超类,用于代表字节输出流,但由于其抽象性,它需要通过子类进行具体实现。
  2. 子类实现OutputStream 的主要子类包括 FileOutputStream, ByteArrayOutputStream, 和 ObjectOutputStream,每种子类针对不同的输出需求。
  3. 核心方法OutputStream 提供了关键的方法如 write() 用于写入字节,flush() 用于强制写入数据,以及 close() 用于关闭流,确保数据完整性和资源释放。

java.io 包中的 OutputStream 类是一个抽象超类,代表字节的输出流。

由于 OutputStream 是一个抽象类,它本身并不具备实用性。然而,它的子类可以用来写入数据。

OutputStream 的子类

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

OutputStreamWriter

我们将在下一个教程中学习所有这些子类。

创建 OutputStream

要创建一个 OutputStream,我们首先必须导入 java.io.OutputStream 包。一旦我们导入了包,以下是我们如何创建输出流的方式。

// 创建一个 OutputStream
OutputStream object = new FileOutputStream();

这里,我们使用 FileOutputStream 创建了一个输出流对象。这是因为 OutputStream 是一个抽象类,所以我们无法创建 OutputStream 的对象。

注意:我们也可以从 OutputStream 类的其他子类中创建输出流。

OutputStream 的方法

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

  • write() - 将指定的字节写入输出流
  • write(byte[] array) - 将指定数组中的字节写入输出流
  • flush() - 强制将输出流中的所有数据写入目的地
  • close() - 关闭输出流

示例:使用 FileOutputStream 的 OutputStream

以下是我们如何使用 FileOutputStream 类实现 OutputStream 的方法。

import java.io.FileOutputStream;
import java.io.OutputStream;

public class Main {

public static void main(String args[]) {
String data = "This is a line of text inside the file.";

try {
OutputStream out = new FileOutputStream("output.txt");

// 将字符串转换为字节
byte[] dataBytes = data.getBytes();

// 将数据写入输出流
out.write(dataBytes);
System.out.println("数据已写入文件。");

// 关闭输出流
out.close();
}

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

在上面的例子中,我们使用 FileOutputStream 类创建了一个输出流。输出流现在与文件 output.txt 链接。

OutputStream out = new FileOutputStream("output.txt");

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

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

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

This is a line of text inside the file.

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