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