我正在寻找一个字符来使用文件名定界符(我将多个文件名存储在一个纯文本字符串中)。 Windows 似乎不允许 :
, ?
, *
, <
, >
, "
, |
, /
和 \
在文件名中。显然,\
和 /
不能使用,因为它们表示路径内的内容。有什么理由不应该使用其他任何人吗?我只是在想,类似于 /
或 \
,那些其他不允许的字符可能具有特殊含义,我不应该假设它们不会出现在路径名中。在其他 7 个字符中,用于此目的的任何字符是绝对安全的还是绝对不安全的?
最佳答案
字符:
和 "
也用于路径。冒号是驱动单元分隔符,当空格是文件夹或文件名的一部分时使用引号。
字符*
和 ?
在搜索文件时用作通配符。
字符<
和 >
用于将应用程序的输入和输出重定向到文件或从文件重定向。
字符|
用于将一个应用程序的输出通过管道传输到另一个应用程序的输入。
我会选择管道字符来分隔文件名。它不用于路径,其形状具有自然的分离特性。
另一种方法是在字符串中使用 XML。有一点开销,有些字符需要编码,但优点是它可以处理任何字符,格式不言自明且定义明确。
关于windows - 冒号/星号作为文件名分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665724/