我知道/
在Linux中是非法的,下面这些在Windows中是非法的
我还缺什么?
然而,我需要一份全面的指南,而且要考虑到
我需要首先在文件系统上创建一个目录,使用一个可能
我知道/
在Linux中是非法的,下面这些在Windows中是非法的
我还缺什么?
然而,我需要一份全面的指南,而且要考虑到
我需要首先在文件系统上创建一个目录,使用一个可能
禁止文件名字符的"综合指南"在Windows上不起作用,因为它保留了文件名和字符.是的,比如
Windows不区分大小写字符,因此如果名为a
的文件夹已经存在,则无法创建名为A
的文件夹.更糟糕的是,PRN
和CON
等看似允许的名字,以及其他许多名字,都是保留的,不允许使用.windows 也有一些长度限制;在一个文件夹中有效的文件名如果移动到另一个文件夹,可能会变得无效.规则
通常,不能使用用户生成的文本来创建Windows目录名.如果你想让用户说出任何他们想要的名字,你必须创建安全的名字,比如A
、AB
、A2
等,将用户生成的名字和它们的路径类似功能存储在应用程序数据文件中,并在应用程序中执行路径映射.
如果绝对必须允许用户生成文件夹名称,那么判断它们是否无效的唯一方法是捕获异常并假定名称无效.即使这样也充满了危险,因为拒绝访问、脱机驱动器和驱动器空间不足引发的异常与无效名称引发的异常重叠.你打开了一个巨大的伤口.