首页 > 其他分享 >第六章 文件及文件系统 6.2 文件的逻辑结构

第六章 文件及文件系统 6.2 文件的逻辑结构

时间:2023-05-15 19:22:09浏览次数:31  
标签:文件 顺序 记录 文件系统 索引 6.2 关键字 结构

对于任何一个文件,都存在着以下两种形式的结构:

  • 文件的逻辑结构,又称为文件组织,是用户可以直接处理的数据及其结构。
  • 文件的物理结构, 又称为文件的存储结构, 是指文件在外存上的存储组织形式。  

一、文件逻辑结构的类型

  *大量的源程序、 可执行文件、 库函数等, 所采用的就是无结构的文件形式,即流式文件。 其长度以字节为单位。

二、顺序文件

  1.逻辑记录的排序

  • 串结构:通常是由时间来决定,即按存入时间的先后排列
  • 顺序结构:文件中的所有记录按关键字(词)排列。是最常用的文件组织方式。

  2.对顺序文件的读/写操作

  • 对于定长记录的顺序文件读写:ptr = ptr + L,其中L为定长记录的长度

  • 对于变长记录的顺序文件的读写:每个记录长度存于记录前的单元中   读写完毕后,将读写指针加上刚读或写完的记录长度 L(无法随机访问)

三、索引文件

  1.为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设有一个相应的表项,用于记录该记录的长度L及指向该记录的指针(指向该记录在逻辑地址空间的首址)。

  2.由于索引表是按记录键排序的,因此,索引表本身是一个定长记录的顺序文件,从而也就可以方便地实现直接存取。

四、索引顺序文件

  1.顺序文件和索引文件相结合的产物。 

  2.将顺序文件中的所有记录分为若干个组(例如,50 个记录为一个组)。

  3.为顺序文件建立一张索引表。在索引表中为每组中的第一个记录建立一个索引项。

  4.检索步骤:(索引查组,顺序查表)

  • 利用用户提供的关键字检索索引表,查找该组对应的表项  
  • 根据表项得到该组第一个记录在主文件中的位置  
  • 再利用顺序查找法查找主文件,在对应分组中找到要求的记录 

五、直接文件

  1.对于直接文件,则可根据给定的关键字值,直接获得指定记录的物理地址。

  2.关键字值本身就决定了记录的物理地址。

  3.哈希文件:直接文件的一种。利用哈希函数将关键字转换为相应记录的地址。

 

标签:文件,顺序,记录,文件系统,索引,6.2,关键字,结构
From: https://www.cnblogs.com/05-ReFrain-19/p/17402844.html

相关文章

  • chmod :设置文件或者目录的权限
    语法chmod[必要参数][选择参数][<权限范围>+/-/=<权限设置>][文件或目录]功能chmod命令:依据权限设置给定文件的权限。权限既可以是一个符号,也可以是一个代表性的数。符号的模式可以是[ugoa][+-=][rwxXstugo],可以给定多个符号,它们之间逗号隔开类似命令:chown chgrp umask......
  • Django文件上传
    form-data格式发送form-data格式上传文件数据,文件对象存储在类字典对象request.FILES中#print(request.POST.get('xxx'))#xxx#print(request.POST.get('yyy'))#yyy#print(request.FILES)#<MultiValueDict:{'file':[<InMemoryUploadedFile:640.......
  • python基础学习-读写CSV文件
    CSV文件介绍参考:Python-Core-50-Courses/第23课:用Python读写CSV文件.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)CSV 全称逗号分隔值文件是一种简单、通用的文件格式,被广泛的应用于应用程序(数据库、电子表格等)数据的导入和导出以及异构系统之间的数据......
  • elk日志收集之rsyslog软连接监控文件深度坑
    业务中通过rsyslog监控本地文件收集了一些redis和mc的慢日志,推到elk集群分析,这些日志一天一个文件,每晚零点5分通过计划任务用软连接的方式将新的文件固定到指定文件下,但是最近发现日志丢了很多,分析中发现了一个深坑,先说下现有的配置:rsyslog的配置如下,监控固定的文件:local6.*......
  • python基础学习-用Python读写Excel文件
    参考链接:Python-Core-50-Courses/第24课:用Python读写Excel文件-1.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)Python-Core-50-Courses/第25课:用Python读写Excel文件-2.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)......
  • web自动化14--读取excel文件
    1、安装xlrd模块,pipinstallxlrd,成功后2、打开exlce表格data=xlrd.open_workbook('test.xlsx')table=data.sheets()[0]          # 通过索引顺序获取sheettable=data.sheet_by_index(0)    # 通过索引顺序获取table=data.sheet_by_name(u'She......
  • 从properties文件获取中文key
    1,修改编码格式为UTF-8 2,对resourceBundle解决实现实体类,修改编码格式packagecom.ruoyi.web.controller.utool;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.nio.charset.StandardCharsets;importjava.util......
  • Java中getResourceAsStream的用法,读取jar里面的文件
    首先,Java中的getResourceAsStream有以下几种:1.Class.getResourceAsStream(Stringpath):path不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。2.Class.getClassLoader.getRe......
  • SpringBoot 文件上传到指定文件夹
    1、在application.yml文件中设置存储文件夹地址upload:path:E:\upload\2、配置映射路径@ConfigurationpublicclassWebMvcConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){//其......
  • 配置wordpress:创建隐私政策页(wordpress 6.2)
    一,wordpress系统中默认的隐私政策页1,页面->所有页面:可以看到默认的隐私政策页面 注意默认的隐私政策页的状态是草稿,并未正式发布,需要发布后才能加链接到菜单等二,如果隐私政策页被误删除也可以重新创建也可以指定使用其他页面,例如:改选其他页面,然后点使用本页按钮......