当前位置: 首页 > 教程 > Java IO流 >

Java FileDescriptor

精华
小牛编辑
111浏览
2023-03-14

1 什么是Java FileDescriptor

FileDescriptor是"文件描述符"。

FileDescriptor可以被用来表示开放的文件,开放的套接字等。

当FileDescriptor表示文件来说,当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor看成该文件.但是,我们不能直接通过FileDescriptor对该文件进行操作;若需要通过FileDescriptor对该文件进行操作,则需要创建FileDescriptor对应的FileOutputStream,再对文件进行操作.

2 Java FileDescriptor的属性

修饰符&返回值 属性名 描述
static FileDescriptor err 标准错误流的句柄。
static FileDescriptor in 标准输入流的句柄。
static FileDescriptor out 标准输出流的句柄。

3 Java FileDescriptor的构造方法

构造方法 描述
FileDescriptor() 构造一个FileDescriptor 对象。

4 Java FileDescriptor的方法

修饰符&返回值 方法 描述
void sync() 强制所有系统缓冲区与基础设备同步。
boolean valid() 判断FileDescriptor对象是否有效。

5 Java FileDescriptor的例子

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java FileDescriptor的例子
 */
import java.io.*;

public class Demo {

    public static void main(String[] args) {
        FileDescriptor fd = null;
        byte[] b = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 };
        try  {
            FileOutputStream fos = new FileOutputStream("Record.txt");
            FileInputStream fis = new FileInputStream("Record.txt");
            fd = fos.getFD();
            fos.write(b);
            fos.flush();
            fd.sync();// confirms data to be written to the disk
            int value = 0;
            // for every available bytes
            while ((value = fis.read()) != -1) {
                char c = (char) value;// converts bytes to char
                System.out.print(c);
            }
            System.out.println("\nSync() successfully executed!!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

输出结果为:

0123456789:
Sync() successfully executed!!