我需要在一个字符串中连接多个绝对文件路径。但是如果我使用字符,那可能是文件名或路径的一部分,字符串会被弄乱。可以使用哪种分隔符?
现在我使用 File.pathSeparator,对于 Windows 7,它是 ';'。但是这个字符可以是文件名的一部分。
我需要在一个字符串中连接多个绝对文件路径。但是如果我使用字符,那可能是文件名或路径的一部分,字符串会被弄乱。可以使用哪种分隔符?
现在我使用 File.pathSeparator,对于 Windows 7,它是 ';'。但是这个字符可以是文件名的一部分。
您可以使用File.pathSeparator:
系统相关的路径分隔符,为方便起见表示为字符串。该字符串包含一个字符,即pathSeparatorChar:
系统相关的路径分隔符字符。该字段被初始化为包含系统属性 path.separator 值的第一个字符。此字符用于分隔作为路径列表给出的文件序列中的文件名。在 UNIX 系统上,这个字符是 ':';在 Microsoft Windows 系统上它是 ';'。
ASCII NUL 字符\0
不能成为 Windows 或 Unix(包括 Mac)上路径名的一部分,因此您可能可以将其用作分隔符。
NUL 字符不能用于文件路径,因为它是 C 中的字符串终止符,并且这些操作系统的 API 被定义为使用字符串表示文件路径的 C 库。
如果您想使用可打印字符作为分隔符,则必须使用转义码方案。最简单的方法之一是将分隔符加倍:假设您使用 # 作为分隔符;要将路径添加到列表中,请将路径中已经存在的任何 # 替换为 ##。