当我在Eclipse中使用以下路径时:
"C:\Users\Me\Desktop\selenium\geckodriver.exe"
出现红色x
,并显示错误消息。但是当我把它变成:
"C:\\Users\\Me\\Desktop\\selenium\\geckodriver.exe"
一切都很好。有人可以解释一下,为什么?我是否总是需要在路径中添加额外的斜杠?
答案 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