操作系统 文件的逻辑结构

                                      操作系统 文件的逻辑结构

什么是文件的逻辑结构呢?我们在用电脑的时候无时不刻不再接触文件,比如一个word文档,一个txt文档,或者一

张图片,或者我们C语言写的一句printf(f所指的就是文件)。甚至我们用的键盘,鼠标都被操作系统当作文件处理。

但是我们看到的这些一切都是逻辑结构的文件。逻辑结构的文件有两种分类。记录型文件和流式文件。

记录型文件:记录型文件是指有结构的文件,这种文件便于检索和修改,占用空间小,方便用户操作。

根据文件的长度可以划分为两种文件:

1、定长记录型文件:这种文件的长度是固定的,各记录中的数据项都在数据的相同位置,在检索时,可以根据记

录号和记录长度来确定记录的逻辑地址。

对于一些大数据的处理,处理一些不变的历史数据时,这种历史数据都是固定长度的文件。

2、变长记录文件:顾名思义,这种文件的长度是变化的,由于记录型文件的长度是变化的,我们在检索的时候就

必须从第一个记录逐一向后查找。比如我们记录医院病人的记录,由于每个病人填的病例信息是不断变化的,这时

候就需要用变长的记录文件来记录。

根据对文件的增删改查效率,记录型文件又被划分为以下几类:

1、顺序文件:这种文件是指按照某种排列的记录所组成的文件,这样可以大大提高检索效率,这种文件多是定长

的文件,需要注意的是对这种文件的插入,删除操作等并不方便。

2、索引文件:这种文件可以理解为一张索引表。为每个记录建立一个独立的索引,当查到某个记录的时候,可以

根据索引迅速定位到要查的位置。

3、索引顺序文件:他是将顺序文件中的多少条记录根据某个特点分出来,建立索引表。比如把前50条记录抽出来

组成一组。然后为这个组建立索引。或者根据人名的首写字母分组然后建立索引。这样直接跳过多少条记录进行

查找,既节省了存储大量索引的时间,有提高了查询的效率。是上面两种的中和。

4、散列文件:这种文件是指为每个记录建立一个随机索引,这些索引存储在哈希表中,索引是随机存储的,不需

要去寻找一片连续的空间,对连续空间没有要求,而且也能够根据索引迅速定位逻辑地址。常用于要求快速访问记

录的情形(如目录,价格表等)但是如何有效解决散列的位置和效率至今还在探索。

 

流式文件:流式文件是指没有结构的文件,这种文件只是一串信息的集合,不需要特殊的结构来约束他

这种文件有两种分类:

二进制形式的流文件和字符文件:这两种文件可以用在变成语言的文件传输上,以java为例:

FileOutputStream:读取二进制文件。FileInputStream:写入二进制文件

FileReader:读取字符文件。FileWriter:写入字符文件。

这两种类型文件也经常会用于网络传输,用于前后端数据交互。

从直观上说:二进制文件只指全部由二进制数或者十六进制数组成的文件。而字符文件可以包括一些英文字符

或者中文字符串。另外,字符流文件的无结构性方便用户的操作。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值