1.2 文件基本操作
1.2.1 文件基本知识
学习目标
理解文件、文件夹的概念
了解文件的结构
相关知识
1. 文件
(1)文件的概念
文件是存储在磁盘上的一组信息的集合,是计算机组织管理信息的方式。文件可以是一个程序、一批数据或其他的各种信息。任何信息都是以文件的形式存放在磁盘上的,每个文件必须有一个确定的名字,以便与其他文件相区别。
(2)文件名
文件名是用来标识文件的,是文件存取信息的标志,不同的系统对文件名的规定有所不同。
在Windows系统中,文件的命名规则如下:
① 文件名可以有两部分:主名和可选的扩展名。主名和扩展名由“.”分隔。主名长度最大可达到255个ASCII字符,扩展名最多3个字符。
② 文件名可以由汉字、字母、数字及符号等构成。
(3)文件的类型
文件根据其不同的数据格式和意义使得每个文件都具有某种特定的类型。Windows操作系统利用文件的扩展名来区分每个文件的类型。
Windows操作系统常见的类型如下:
.com dos命令程序
.exe 可执行程序
.bat 批处理文件
.doc 带格式文件
.txt 无格式文件
.sys 系统文件
.hlp 帮助文件
.bmp 位图文件
.wav 声音文件
.avi 活动图像文件
.ico 图标文件
2. 文件夹
为了便于对存放在磁盘上的众多文件进行组织和管理,通常将一些相关的文件存放在磁盘上的某一特定的位置,这个特定的位置就称为文件夹。可以在每个磁盘上建立多个文件夹,而其中的每一个文件夹又可划分为多个子文件夹,每个子文件夹还可以再划分为其下一级的多个子文件夹。
每个文件夹都有自己的文件夹名,其命名规则与文件命名规则相同。在文件夹中,可以有文件和文件夹,但在同一文件夹中不能有同名的文件或文件夹。
与文件和文件夹有关的一个重要概念是路径。文件与文件夹的路径是一个地址,它告诉操作系统如何才能找到该文件或文件夹。如写字板的路径是:“C:\winnt\system32\write.exe”。
3. 文件的结构
人们常以两种不同的观点去研究文件的结构。一是用户的观点,用户以文件编制时的组织方式作为文件的组织形式来观察和使用,用户可以直接处理其中的结构和数据,这种结构常称之为逻辑结构。另一种是系统的观点,主要研究存储介质上的实际文件结构,即文件在外存上的存储组织形式,称之为物理结构或存储结构。
(1)文件的逻辑结构
文件的逻辑结构分两种形式:一种是记录式文件,一种是无结构的流式文件。
① 记录式文件。指由若干个相关的记录组成的文件,在文件中的每个记录编以序号,如记录1、记录2、…、记录N,这种记录称为逻辑记录,其序号称为逻辑记录号。按记录的长度,记录式文件可分为等长记录文件和变长记录文件两类。
② 流式文件。指文件是有序的相关数据项的集合。这种文件不再划分成记录,而由基本信息单位字节或字组成,其长度是文件中所含字节的数目。大量的源程序、库函数等采用的就是流式结构。
(2)文件的物理结构
文件的物理结构有很多种,常见的有三种,分别为顺序结构、链接结构和索引结构。
① 顺序结构。一个逻辑文件的信息依次存于外存的若干连续的物理块中的结构称为文件的顺序结构。在顺序文件中,序号为j+1的逻辑记录,其物理位置一定紧跟在序号为j的逻辑记录后。
顺序结构的优点是连续存取时速度较快,只要知道文件存储的起始块号和文件块数就可以立即找到所需的信息。其缺点是文件长度一经固定便不宜改动,因此不便于记录的增、删操作,一般只能在末端进行。
② 链接结构。链接结构是指一个文件不需要存放在存储媒体连续的物理块中,它可以散布在不连续的若干个物理块中,每个物理块中有一个链接指针,它指向下一个连接的物理块位置,从而使存放该文件的物理块中的信息在逻辑组织上是连续的。文件的最后一个物理块的链接指针通常为“∧”,表示该块为链尾。
链接结构采用的是一种非连续的存储结构,文件的逻辑记录可以存放到不连续的物理块中,所以不会造成几块连续区域的浪费。这种结构文件可以动态增、删,只要修改链接字就可将记录插入到文件中间或从文件中删除若干记录。但它只适合顺序存取,不便于直接存取。为了找到一个记录,文件必须从文件头开始一块一块查找,直到所需的记录被找到,所以降低了查找速度。
③ 索引结构。索引结构是系统为每个文件建立一张索引表,建立逻辑块号与物理块号的对照表。这种形式组织的文件既可以按索引顺序进行顺序访问某个记录,也可以进行直接的随机访问某个记录。
索引结构具备链接结构的所有优点,可以直接读/写任意记录,而且便于文件的增、删,并且它还可以方便地进行随机存取。其缺点是增加了索引表的空间开销。当增加或删除记录时,首先要查找索引表,这就增加了一次访盘操作,从而降低了文件访问的速度。
索引表是在文件建立时系统自动建立的,并与文件一起存放在同一文件卷上。一个文件的索引表可以占用一个或几个物理块。存放索引表的物理块叫做索引表块,它可以按串取文件方式组织也可以按多重索引方式组织。