Windows和Unix的路径分隔符

时间:2010-02-09 09:21:50

标签: filepath

是否有任何特殊字符不能成为Windows或Unix中路径的一部分,我可以将其用作分隔符?

6 个答案:

答案 0 :(得分:42)

PATH环境变量的分隔符怎么样?适用于Windows的; ,适用于Linux的

答案 1 :(得分:5)

维基百科帮助列出the reserved characters for different filesystems。 NTFS和POSIX都不接受文件名中的空格或斜杠(/)字符。斜杠字符显然不是一个好的分隔符,所以也许你可以使用null。

当然,null并不适合所有情况(例如,打印时通常不会显示),在这种情况下,您可能需要使用某种escaping scheme

Java旨在跨不同平台工作,甚至没有尝试找到一个公共路径分隔符。相反,每个平台都有自己的角色,可通过API访问。

答案 2 :(得分:3)

路径分隔符取决于平台:

对于Windows,它是'\',对于unix它是'/'。

答案 3 :(得分:2)

从技术上讲,Unix确实允许文件夹/文件名中的任何字符,当然除了/,这将被解释为路径的一部分。 Windows仅支持可打印字符和一些除\ / : * ? " < > |之外的特殊字符。

答案 4 :(得分:0)

在Java中,您可以使用:

WindowsNTFileSystem
s.split(File.pathSeparator) for windows it will give ; (semicolon)
s.split(File.separator) for windows it will give \ (backward)

Linux
s.split(File.pathSeparator) for windows it will give : (colon)
s.split(File.separator) for windows it will give / (forward)

答案 5 :(得分:-1)

我会谨慎使用自定义分隔符,因为它们将来可能会中断,例如如果有人使用unicode,你的自定义分隔符是另一个角色的一部分。