bjzps
驱动小牛
驱动小牛
  • 注册日期2003-03-06
  • 最后登录2009-04-13
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望22点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1683回复:7

fat文件系统的问题,做u盘的看过来

楼主#
更多 发布于:2003-09-12 09:32
如果要在文件内部删除或是添加数据,那么后面的文件数据都要相应移动么?FAT区里是按簇来存储的数组来表示个链。root区里只记录了文件的开始簇号和大小。只能吧后面的数据全部做调整么?没有好点的办法?


 
sky412
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2013-03-07
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-15 13:07
在本网站下载区里有关于fat32的,你可以搜搜。
虽然我比较烦,但是我真不懂!
bjzps
驱动小牛
驱动小牛
  • 注册日期2003-03-06
  • 最后登录2009-04-13
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望22点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-15 12:50
fat文件系统没有定义簇内空字节表示么?
要是修改了前面簇的大小,那么后面的簇都要前移?
这样的代价太大了吧
我手头没有fat的标准,所以有这个疑问

sky412你说的自定义空数据位,好像不行
因为不光是你用fat,windows等操作系统也在用。不能自定义的,你只能按标准做
sky412
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2013-03-07
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-15 11:21
---------------------------
这些我都知道的.我说的删除或是添加文件不是说是以整个文件或是整个簇位单位的。比如我在第一个簇删除了1个字节,那么我后面的数据都要向前移位? 换句话说:fat系统里面,是不是只能是最后一个簇不满,前面的欧要是满的?

还有不一定非要改0xe5吧,我直接都清0,也可以的
---------------------------
文件全删,root相应部分全部都清零,当然也可以。
那是肯定的,前面删除了1字节,后面的数据肯定是要向前移的。
除非你在你的文件中存在一个这么一个不被用到的数:比如“0xe5”,表明该位是空数据,无实际用途。当然其它配套的很多东西都要改。
虽然我比较烦,但是我真不懂!
bjzps
驱动小牛
驱动小牛
  • 注册日期2003-03-06
  • 最后登录2009-04-13
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望22点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-15 11:06
这些我都知道的.我说的删除或是添加文件不是说是以整个文件或是整个簇位单位的。比如我在第一个簇删除了1个字节,那么我后面的数据都要向前移位? 换句话说:fat系统里面,是不是只能是最后一个簇不满,前面的欧要是满的?

还有不一定非要改0xe5吧,我直接都清0,也可以的
sky412
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2013-03-07
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-15 09:37
别忘了把root区的第一个字节改为\"0xe5\"。 :D
虽然我比较烦,但是我真不懂!
hooking
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-09-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-09-14 19:11
还要将两端簇链连起来,即将断开前一个镞的后续簇相应修改,
同时还应该修改文件大小
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-09-14 15:45
将从root区取到的开始簇号为地址,将fat中对应的链表删掉就好了!
游客

返回顶部