为什么路径在Eclipse中需要两个斜杠(\\)?

时间:2017-09-14 21:24:41

标签: java string eclipse path escaping

当我在Eclipse中使用以下路径时:

"C:\Users\Me\Desktop\selenium\geckodriver.exe"

出现红色x,并显示错误消息。但是当我把它变成:

"C:\\Users\\Me\\Desktop\\selenium\\geckodriver.exe"

一切都很好。有人可以解释一下,为什么?我是否总是需要在路径中添加额外的斜杠?

3 个答案:

答案 0 :(得分:4)

在大多数编程语言中,'\'用作转义字符。

示例:

"c:\\Users"将为"c:\Users" "My name is \"Suppe\""将是"My name is "Suppe"" "Hello\tWorld"将为"Hello World"

有关此主题的更多信息,请阅读:
https://en.wikipedia.org/wiki/Escape_character

甚至stackexchange也使用反斜杠作为转义字符。您可能已经注意到,因为您帖子的第一个版本有两个相同的示例。

答案 1 :(得分:2)

因为\字符在Java中具有特殊含义。这是一个逃避角色。例如,如果您在字符串文字中写\t,则表示制表符,而\n表示换行符。

要拥有文字\字符,您必须使用转义字符\\转义它。

请参阅Java文档中的Escape Sequences部分。对于许多其他语言也是如此。

答案 2 :(得分:1)

即使在Eclipse和Netbeans中,当您键入一些字符串时,它们会检查此字符串是否与regex pattern对应。单个斜杠\表示下一个字符将是正则表达式匹配或文字字母,数字或任何您想要的。使用双斜杠\\的目的是表示您需要单个文字斜杠。

所以,当他们复制你输入的字符串时:

C:\\path\\to\\exe

将成为

C:\path\to\exe