此“文件描述子”类的实例用以作为一个不透明的控制柄,指向一个表示已打开文件或已打开 socket 的基本机器专用结构。
应用程序不应建立它们自己的文件描述子。
类 java.io.FileDescriptor
类 java.io.FileDescriptor
java.lang.Object
|
+----java.io.FileDescriptor
- public final class FileDescriptor
- extends Object
- 来自:
- JDK1.0
- 参见:
- FileInputStream, FileOutputStream, SocketInputStream, SocketOutputStream
变量索引
- err
- 指向标准错误流的句柄。
- in
- 指向标准输入流的句柄。
- out
- 指向标准输出流的句柄。
构造子索引
- FileDescriptor()
-
方法索引
- sync()
- 强迫所有的系统缓冲与基本设备同步。
- valid()
- 测试当前文件描述子对象是否合法。
变量
in
public static final FileDescriptor in
- 指向标准输入流的句柄。
out
public static final FileDescriptor out
- 指向标准输出流的句柄。
err
public static final FileDescriptor err
- 指向标准错误流的句柄。
构造子
FileDescriptor
public FileDescriptor()
方法
valid
public native boolean valid()
- 测试当前文件描述子对象是否合法。
- 返回值:
- 如果此文件描述子对象表示一个合法的打开文件或 socket 则为
true
;否则为 false
。
sync
public native void sync() throws SyncFailedException
- 强迫所有的系统缓冲与基本设备同步。 这个方法将在将当前 FileDescriptor 的所有修改后的数据和属性输出到有关设备之后返回。特别是,如果当前 FileDescriptor 指向一个物理存储介质,例如文件系统中的一个文件,那么直到将与当前 FileDesecriptor 有关的所有的内存修改备份都写入该物理介质后,sync 方法才返回。
sync 被请求明确物理存储器(例如一个文件)状态的代码使用很有意义,例如支持简单事物处理设备的类可能使用
sync,以确保由给定事物处理所导致的对该文件的所有改变都被记录在一个存储介质中。
sync 仅影响当前 FileDescriptor 的缓冲区的后面部分。如果此应用程序将使用整个缓冲空间(例如,通过一个 BufferedOutputStream 对象),
那么在 sync 操作之前必须将缓冲数据输出到 FileDescriptor。
- 抛出:
SyncFailedException
- 当缓冲不能刷新或因为系统不能保证所有的缓冲与物理介质同步。