📜  Java OutputStream类

📅  最后修改于: 2020-09-26 15:15:53             🧑  作者: Mango

在本教程中,我们将通过一个示例学习Java OutputStream及其方法。

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

由于OutputStream是抽象类,因此它本身没有用。但是,其子类可用于写入数据。


OutputStream的子类

为了使用OutputStream的功能,我们可以使用其子类。他们之中有一些是:

  • FileOutputStream
  • ByteArrayOutputStream
  • ObjectOutputStream

Subclasses of Java OutputStream are FileOutputStream, ByteArrayOutputStream and ObjectOutputStream.

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


创建一个OutputStream

为了创建OutputStream ,我们必须首先导入java.io.OutputStream包。导入包后,就可以创建输出流。

// Creates an OutputStream
OutputStream object = new FileOutputStream();

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

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


OutputStream的方法

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

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

示例:使用FileOutputStream的OutputStream

这是我们如何使用FileOutputStream类实现OutputStreamFileOutputStream

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");

            // Converts the string into bytes
            byte[] dataBytes = data.getBytes();

            // Writes data to the output stream
            out.write(dataBytes);
            System.out.println("Data is written to the file.");

            // Closes the output stream
            out.close();
        }

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

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

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

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

output.write();      // To write data to the file
output.close();      // To close the output stream

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

This is a line of text inside the file.

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