Java.io.FileDescriptor(io流二)

FileDescriptor:文件描述符、

该结构表示开放文件、开放套接字或者字节的另一个源或接收者

文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄

1:代表文件的抽象表示

File Descriptor 应该是在 UNIX 系统里的一个提法。在 Window 系统里,称为 file handle。是指代文件的一种抽象表示法。

Java.io.FileDescriptor(io流二)_第1张图片
图A

2:屏蔽不同平台输出的差异

static FileDescriptor err  标准错误流的句柄。

static FileDescriptor in  标准输入流的句柄。

static FileDescriptor out  标准输出流的句柄。

FileDescriptor是用来屏蔽不同平台输出流的差异用的,比如你写一个程序System.out.print("123");

如果是直接在cmd窗口下java命令运行,则“123”打印在cmd窗口里

如果你是用Eclipse,则“123”打印在图形化界面里

如果是applet,则打印在j2se platform的小程序窗口里

难道你不疑惑是真么造成的这种差异,我想就是和FileDescriptor中的in,out,err流的位置定义有关

ps: System.out.print其实就是 图B流的封装 (来源于网络)

Java.io.FileDescriptor(io流二)_第2张图片
图B

sync() 刷新物理设备缓存 (常用的同步都是内存中缓存同步,这个同步是缓存到物理介质之间的数据同步,好比是写入磁盘中磁盘不显示 刷新一下就ok)

你可能感兴趣的:(Java.io.FileDescriptor(io流二))