鸿蒙OS开发文档 鸿蒙OS OutputStream

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 4

OutputStream

java.lang.Object
|---java.io.OutputStream

public abstract class OutputStream
extends Object
implements Closeable, Flushable

这个抽象类是代表字节输出流的所有类的超类。 输出流接受输出字节并将它们发送到某个接收器。

需要定义 OutputStream 子类的应用程序必须始终提供至少一个写入一个字节输出的方法。

Since:

JDK1.0

构造函数摘要

构造函数描述
OutputStream()

方法总结

修饰符和类型方法描述
voidclose()关闭此输出流并释放与此流关联的所有系统资源。
voidflush()刷新此输出流并强制写出任何缓冲的输出字节。
voidwrite(byte[] b)将指定字节数组中的 b.length 个字节写入此输出流。
voidwrite(byte[] b, int off, int len)将指定字节数组中的 len 个字节写入此输出流。
abstract voidwrite(int b)将指定字节写入此输出流。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

OutputStream

public OutputStream()

方法详情

write

public abstract void write(int b) throws IOException

将指定字节写入此输出流。 写入的一般约定是将一个字节写入输出流。 要写入的字节是参数 b 的 8 个低位。 b 的高 24 位被忽略。

OutputStream 的子类必须提供此方法的实现。

参数:

参数名称参数描述
b字节。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。 特别是,如果输出流已关闭,则可能会引发 IOException。

write

public void write(byte[] b) throws IOException

将指定字节数组中的 b.length 个字节写入此输出流。 write(b) 的一般约定是它应该与调用 write(b, 0, b.length) 具有完全相同的效果。

参数:

参数名称参数描述
b数据。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。

write

public void write(byte[] b, int off, int len) throws IOException

将指定字节数组中的 len 个字节写入此输出流。 write(b, off, len) 的一般约定是数组 b 中的一些字节按顺序写入输出流; 元素 b[off] 是写入的第一个字节, b[off+len-1] 是此操作写入的最后一个字节。

OutputStream 的 write 方法在要写出的每个字节上调用一个参数的 write 方法。 鼓励子类重写此方法并提供更有效的实现。

如果 b 为 null,则抛出 NullPointerException。

如果 off 为负数,或 len 为负数,或 off+len 大于数组 b 的长度,则抛出 IndexOutOfBoundsException。

参数:

参数名称参数描述
b数据。
off数据中的起始偏移量。
len要写入的字节数。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。 特别是,如果输出流关闭,则会引发 IOException。

flush

public void flush() throws IOException

刷新此输出流并强制写出任何缓冲的输出字节。 flush 的一般约定是调用它表示,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期目的地。

如果此流的预期目的地是底层操作系统提供的抽象,例如文件,则刷新流仅保证先前写入流的字节被传递给操作系统进行写入; 它不能保证它们实际上被写入了物理设备,例如磁盘驱动器。

OutputStream 的 flush 方法什么都不做。

指定者:

在接口 Flushable 中刷新

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。

close

public void close() throws IOException

关闭此输出流并释放与此流关联的所有系统资源。 close 的一般约定是它关闭输出流。 关闭的流无法执行输出操作,也无法重新打开。

OutputStream 的 close 方法什么也不做。

指定者:

在接口 AutoCloseable 中关闭

指定者:

在接口Closeable中关闭

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误。