模块  java.base
软件包  java.io

Class FileDescriptor


  • public final class FileDescriptor
    extends Object
    文件描述符类的实例充当底层机器特定结构的不透明句柄,表示打开文件,打开套接字或其他字节源或接收器。 文件描述符的主要实际用途是创建FileInputStreamFileOutputStream来包含它。

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

    从以下版本开始:
    1.0
    • 字段详细信息

      • in

        public static final FileDescriptor in
        标准输入流的句柄。 通常,不直接使用此文件描述符,而是通过称为System.in的输入流。
        另请参见:
        System.in
      • out

        public static final FileDescriptor out
        标准输出流的句柄。 通常,不直接使用此文件描述符,而是通过称为System.out的输出流。
        另请参见:
        System.out
      • err

        public static final FileDescriptor err
        标准错误流的句柄。 通常,此文件描述符不是直接使用,而是通过称为System.err的输出流System.err
        另请参见:
        System.err
    • 构造方法详细信息

      • FileDescriptor

        public FileDescriptor()
        构造一个(无效的)FileDescriptor对象。 fd或句柄稍后设置。
    • 方法详细信息

      • valid

        public boolean valid()
        测试此文件描述符对象是否有效。
        结果
        true如果文件描述符对象表示有效的,打开的文件,套接字或其他活动I / O连接; 否则为false
      • sync

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