我正在编写一个用于在给定目录中显示文件的小部件,我想知道是否需要涵盖文件名称为空的情况。
测试显示结果不明显,所以我想知道是否有人有确切的信息
$ touch ""
touch: cannot touch `': No such file or directory
$ echo > ""
bash: : No such file or directory
Run Code Online (Sandbox Code Playgroud)
der*_*ert 15
文件名不能为空。引用Single Unix Specification, §3.170,文件名是:
由 1 到 {NAME_MAX} 个字节组成的名称,用于命名文件。组成名称的字符可以从除<斜杠>字符和空字节之外的所有字符值的集合中选择。
因此,它必须至少包含 1 个字节,即不能为空。
并不是根据那个定义,这些字符都不需要是可见的(即,都可以是空白),也不需要打印(都可以是控制字符)。如果您假设文件名是 UTF-8,则不必如此。