文件在磁盘上的存放


由于磁盘具有可直接访问的特性,故当磁盘来存放文件时,具有很大的灵活性。

文件的物理结构与磁盘分配方式有关,在采用连续分配方式时的文件物理结构是顺序式的文件结构,在采用链接分配方式将形成链接式文件结构,而索引分配方式将形成索引式文件结构。

连续分配

连续分配要求为每个文件分配一组相邻接的盘块,一组盘块地址定义了磁盘上的一段线性地址。这种分配方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性。下图为连续分配方式(假设记录与盘块一样大):
在这里插入图片描述

连续分配的优点如下:

  1. 顺序访问容易,访问一个占有连续空间的文件非常容易。
  2. 顺序访问速度快,因为由连续分配所装入的文件,其所占用的盘块可能是位于一条或几条相邻的磁道上,这是,磁头移动距离最少,这种对文件访问的速度使几种存储空间分配方式中最高的一种。

连续分配的缺点如下:

  1. 要求又连续的存储空间,要为每个文件分配一段连续的存储空间,这样,便会产生许多外部碎片,严重地降低了外存空间利用率,定期紧凑会花费大量的机器时间。
  2. 必须实现知道文件的长度,事先知道文件的长度,然后根据其大小,在存储空间中找出一块其大小足够的存储区,将文件装入,对于动态增长的文件非常低效。

链接分配

采用链接分配方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散盘块链接成一个链表,把这样形成的物理文件称为链接文件。链接分配采取离散分配方式,消除了外部碎片,故而显著地提高了外存空间的利用率,并且对文件的增、删、改、查十分方便。链接方式可分为隐式链接和显示链接两种形式。

隐式链接分配

在文件目录的每个目录项中,都须含有指向链接文件第一个盘块和最后一个盘块的指针。
在这里插入图片描述

隐式链接分配的优点如下:

  1. 可以有效的消除外部碎片,磁盘利用率高。
  2. 文件大小可动态增长,不必事先声明文件大小。

隐式链接分配的缺点如下:

  1. 其只适合于顺序访问,对随机访问的效率及其低效。可以将几个盘块组成一个簇,然后以簇为单位进行分配,会减少查找指定块的时间,但是会增加内部碎片。
  2. 可靠性较差,任何一个指针出现问题,都会导致整个链的断开。

显式链接分配

把用于链接文件各物理块的指针,显式的放在内存的一张链接表中,该表在整个磁盘仅设置一张。这里的表的思想比较特殊,而是带指针的表,如下所示:
在这里插入图片描述

显式链接分配的优点如下:

  1. 隐式链接方式的所有优点都具备。
  2. 查找指定盘块的速度比隐式链接快,因为可以将FAT表一次读入内存,并让其常驻内存中。

显式链接分配的缺点如下:

  1. 磁盘比较大时,文件分配表大,占用内存比较多。

索引分配

索引分配方式为每个文件分配一个索引块(表),再把分配给该文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有许多磁盘块号的数组。在建立一个文件时,只需要在为之建立的目录项中填上指向该索引块的指针(单级索引)。
在这里插入图片描述

当文件太大时,索引块太多,效率是低效的。此时,应该为这些索引块再建立一级索引,称为第一级索引,还可再建立索引,称为第二级索引等等。称为多级索引分配。
在这里插入图片描述

混合索引分配方式

将多种索引分配方式相结合而形成的一种分配方式,如直接地址(在索引结点中设置10个直接地址项,假设每个盘块大小为4KB,允许最大文件为40KB),一次间接地址(一级索引分配方式,可存放1K个盘块号,允许最大文件为4MB),多次间接地址(两级索引分配方式,允许的最大文件大小为4GB),同理,可采用三次间接地址(允许文件最大大小为4TB)。
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 上述代码中创建的文本文件存放位置由代码中指定的文件路径决定。在本例中,文件路径是相对路径 `"example.txt"`,这意味着文件将会被创建在当前工作目录下(即启动 Java 程序时所在的目录)。 如果需要将文件存放在其他位置,可以修改文件路径。例如,可以使用绝对路径指定文件存放位置,例如: ``` BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\Users\\username\\Documents\\example.txt")); ``` 这样可以将文件存放在 `C:\Users\username\Documents` 目录下。需要注意的是,在使用绝对路径时应该确保路径的正确性,否则可能会导致文件创建失败。 ### 回答2: 文本文件应该存放在合适的存储设备或计算机系统中,以便于方便地访问、查看和编辑。以下是几个常见的存放文本文件的地方: 1. 个人电脑或移动设备:可以将文本文件存放在个人电脑或移动设备的硬盘、固态硬盘或其他存储器上。这样可以随时打开和编辑文件,并且文件在本地设备上,不需要网络连接。 2. 云存储服务:也可以将文本文件存储在云存储服务中,如Google云端硬盘、Dropbox、百度云等。这样可以实现文件的远程访问和共享,无论在哪个设备上都可以轻松访问和查看文件。 3. 文件服务器:在企业或组织中,文本文件可以存储在文件服务器上。文件服务器是一种专门用来存储和管理文件的设备,可以实现多用户共享和远程访问,方便团队成员共同编辑和更新文本文件。 4. 特定应用程序内部:一些特定的软件应用程序有自己的文本文件存储位置。比如,文本编辑器通常有一个默认的文件夹用于保存编辑的文本文件。在这种情况下,文件应该存储在软件应用程序所指定的目录中,以便于使用该应用程序打开和管理文件。 无论选择哪种存储方式,重要的是保持文件的安全性和备份,避免文件的丢失或损坏。 ### 回答3: 上层的文本文件可以存放在计算机的硬盘驱动器中的任何一个位置,例如桌面、文档文件夹、下载文件夹等。存放位置取决于使用者的个人习惯和需要。对于经常使用的文本文件,可以将其放在桌面上方便快速访问和编辑。对于重要的文本文件,可以考虑将其存放在一个专门的文件夹中,以防止错误的删除或文件丢失。同时,可以使用文件管理工具来帮助管理和整理文本文件,例如可以按照日期、主题或类型等进行分类存放。另外,如果文本文件需要与他人共享或进行团队协作,可以将其存放在共享文件夹或使用云存储服务,方便多人实时访问和编辑。总之,上处文本文件应该存放在使用者方便访问和管理的位置,以提高效率和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值