上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.1 文件系统的API
程序员对文件系统的访问是通过系统API或系统调用来完成的。每种操作系统都有一套对文件系统进行访问的API。在类UNIX中,这套API是遵循POSIX标准的。在Windows中,虽然API与POSIX不兼容,但用法基本一致。
表2-1所示为部分Linux和Windows中文件操作相关的API。由于本书的重点并非API介绍手册,因此这里列举的只是整个文件API集合中非常小的一个子集,其目的是让大家对文件系统的API有一个整体的认识。
表2-1 部分Linux和Windows中文件操作相关的API
通过表2-1可以看出,无论是Windows还是Linux,其提供的API基本是一致的,而且可以从名称很容易猜出该API的具体作用。
操作系统为用户提供的API是经过简化的,主要是方便用户的使用。以Linux中的open()函数为例,该函数用于打开一个文件,其语法格式如下:
open()函数关键的输入参数为文件名称(路径),输出结果为一个整数。这个整数被称为文件描述符(File Descriptor)或句柄(Handle)。文件的读/写等操作通过文件描述符来确定具体的文件,不再关心文件名称。可以看出,文件系统的API是非常简洁的。但是,在文件系统内部,具体实现却是要复杂很多。