过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2923|回复: 0
收起左侧

U盘ud区要注意的问题

[复制链接]
yaojian 2012-11-1 22:02:43 | 显示全部楼层
U盘隐藏分区也叫Ud区,ud文件系统比较简单。开发者经常采用怎么编程简单就怎么做的方式处理问题。理解这点,许多问题都很自然得到解释。

1、是否允许文件名带空格
先声明我没有仔细考证到底是否允许带空格,我想说的是,即使不允许空格,也很自然、合理。

有空格的文件名、目录名处理起来,比无空格的复杂。

举个例子,如果允许文件名带空格,那么
copy A B C
是表示把“A B"这个文件复制成”C”,还是把“A”复制成“B C”?

既然这样写有歧义,那么这样约定吧:用户必须把文件名加上双引号,写成诸如:
copy “A B” “C”
这样是清楚了。

但用户会抱怨,我的文件没有空格,还要加引号,烦。显示文件列表的时候,显示那么多引号,烦。更有人提出:我想把双引号本身,作为特殊文件名的一部分,你能支持吗?

看来,加双引号也有随双引号带来的烦恼。

那么,作为开发者,怎样才简单?规定ud里不支持文件名带空格最简单!ud是新事物,作者可以制定游戏规则。

那么遇到有空格的要拖入,怎么办?拒绝吗?不好。折中点,帮你改名放入吧。

大家在ie中也许有经验,保存网页时,如果标题有冒号,\号等特殊字符,那么有的网站会帮你转成其它合法字符让你保存,有的网站不帮你转,结果保存时报错:文件名有非法字符。

2. 零字节文件
太特殊了,也没啥实际意义,如果处理麻烦,不支持算了。

3. 理解ud的目录
管理目录层次多复杂啊。不支持算了。
但文件多了,按多层次目录管理很有必要,怎么办?
弄个假的(模拟的)多层次目录对付一下,事实上只有一个目录层次。

你想把0PE.GZ放在0PE目录?好,我把这个文件还是放在根目录(事实上只有一个目录层次),但文件名记为“0PE/0PE.GZ",注意这里”/“号你看着以为是目录分隔,其实只是组成文件名的多个字符中的一个。然后,fbinttool按文件名的特点,以树状结构图形化显示ud里的文件,让你看起来很有”层次”感,真以为ud里有目录层次了。

实际上ud里所有文件摆的是一字长蛇阵,都在一个层次上,不过有的文件名带有一个或多个“/"号而已。这一字长蛇阵,管理起来多简单啊,真弄层次结构,就复杂多了。如果你是开发者?你不想省点事?即使你有劲头弄复杂的,想过没有,越复杂越容易出错,难维护,没完没了啊。再说,搞那么复杂,有多大必要?

现在可以理解为什么ud不支持空目录了。即你把某目录下文件都删掉,这个目录就跟着不存在了。

要体验这些很简单。你在fbinsttool中右键点击ud里根目录的grldr文件,重命名为abc/grldr,你会发现,fbinttool显示ud里多了个abc目录,grldr跑到abc目录里去了。
实际上,grldr还在原地,只是名字改为带”/"号的了,你看到grldr在abc目录,那是fbinttool根据文件名,把本来同一层次的文件,按树状显示成不同层次的结构,骗你的,好听点叫“模拟”,当然大家也乐意上这个当。
因为ud里压根没有abc目录,只有名为“abc/grldr”的文件,目录是附属于文件而模拟存在的。当你用fbinttool删除abc目录里的grldr文件,就对应着删除“abc/grldr”这个文件,删除后,没有文件名以abc/开头的文件了,于是目录abc也就跟着消失。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-11-20 17:22 , Processed in 0.036277 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表