阅读(4313) (0)

鸿蒙OS FileDescriptor

2022-10-17 09:40:42 更新

FileDescriptor

java.lang.Object

|---java.io.FileDescriptor

public final class FileDescriptor
extends Object

文件描述符类的实例用作表示打开文件、打开套接字或另一个字节源或接收器的底层机器特定结构的不透明句柄。 文件描述符的主要实际用途是创建一个 FileInputStream 或 FileOutputStream 来包含它。

应用程序不应创建自己的文件描述符。

Since:

JDK1.0

字段摘要

修饰符和类型 字段 描述
static FileDescriptor err 标准错误流的句柄。
static FileDescriptor in 标准输入流的句柄。
static FileDescriptor out 标准输出流的句柄。

构造函数摘要

构造函数 描述
FileDescriptor() 构造一个(无效的)FileDescriptor 对象。

方法总结

修饰符和类型 方法 描述
void sync() 强制所有系统缓冲区与底层设备同步。
boolean valid() 测试此文件描述符对象是否有效。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

err

public static final FileDescriptor err

标准错误流的句柄。 通常,此文件描述符不直接使用,而是通过称为 System.err 的输出流使用。

in

public static final FileDescriptor in

标准输入流的句柄。 通常,此文件描述符不直接使用,而是通过称为 System.in 的输入流使用。

out

public static final FileDescriptor out

标准输出流的句柄。 通常,此文件描述符不直接使用,而是通过称为 System.out 的输出流使用。

构造函数详细信息

FileDescriptor

public FileDescriptor()

构造一个(无效的)FileDescriptor 对象。

方法详情

valid

public boolean valid()

测试此文件描述符对象是否有效。

返回:

如果文件描述符对象表示有效的、打开的文件、套接字或其他活动的 I/O 连接,则为 true; 否则为 false。

sync

public void sync() throws SyncFailedException

强制所有系统缓冲区与底层设备同步。此方法在此 FileDescriptor 的所有修改数据和属性都已写入相关设备后返回。特别是,如果此 FileDescriptor 指的是物理存储介质,例如文件系统中的文件,则在与此 FileDescriptor 关联的缓冲区的所有内存中修改副本都已写入物理介质之前,同步将不会返回。同步意味着需要物理存储(例如文件)处于已知状态的代码使用例如,提供简单事务工具的类可能使用同步来确保由给定的文件引起的所有更改交易记录在存储介质上。 sync 仅影响此 FileDescriptor 下游的缓冲区。如果应用程序正在执行任何内存缓冲(例如,通过 BufferedOutputStream 对象),则必须将这些缓冲区刷新到 FileDescriptor(例如,通过调用 OutputStream.flush),然后该数据才会受到同步的影响。

Throws:

Throw名称 Throw描述
SyncFailedException 当缓冲区无法刷新,或者因为系统无法保证所有缓冲区都已与物理媒体同步时抛出。

Since:

JDK1.1