以字符串形式连接绝对文件路径

时间:2013-03-29 09:33:07

标签: java concatenation filepath

我需要在一个字符串中连接几个绝对文件路径。 但是,如果我使用字符,那可能是文​​件名或路径的一部分,字符串将被混乱。可以使用哪个分隔符?

现在我使用File.pathSeparator,对于Windows 7,它是';'。 但是这个字符可以是文件名的一部分。

SO question

Semicolons are legal in NTFS file paths.

2 个答案:

答案 0 :(得分:2)

您可以使用File.pathSeparator

  

依赖于系统的路径分隔符,表示为字符串   为了方便。该字符串包含单个字符,即pathSeparatorChar

     

与系统相关的路径分隔符。这个领域是   初始化为包含系统值的第一个字符   property path.separator。此字符用于分隔文件名   在作为路径列表给出的文件序列中。在UNIX系统上,这个   字符是':';在Microsoft Windows系统上,它是';'。

答案 1 :(得分:0)

ASCII NUL字符\0不能是Windows或Unix(包括Mac)上路径名的一部分,因此您可以将其用作分隔符。

NUL字符不能在文件路径中使用,因为它是C中的字符串终止符,并且这些操作系统的API被定义为使用字符串表示文件路径的C库。

如果要将可打印字符用作分隔符,则必须使用转义码方案。最简单的一个是将分隔符加倍:假设你使用#作为分隔符;要添加路径到列表,您可以使用##。

替换路径中已存在的任何#