在java中,当使用Strings作为文件路径名时,'\\'和'\'之间有什么区别

时间:2012-07-01 12:48:43

标签: java file-io

E.g。我用的时候 C:\\a.txt

它工作正常,但是当我使用时 C:\a.txt

没有。

任何人解释两者之间的区别,除了说一个有效,另一个没有。

由于

5 个答案:

答案 0 :(得分:6)

\是一个用于转义其他特殊字符的特殊字符。因此,如果存在单个\,则它被解释为字符串中的特殊字符,但由于没有任何东西可以逃脱,因此它被认为是“错误的用法”。

因此,必须使用第二个\\进行转义,以使其具有字面含义。

答案 1 :(得分:2)

单个\表示转义序列,它对编译器具有特定含义。 \\基本上逃脱了转义序列。因此,如果您键入C:\a,编译器会将\a视为转义序列,这是您不想要的内容。

http://docs.oracle.com/javase/tutorial/java/data/characters.html

答案 2 :(得分:2)

在java中, \ 符号保留用于与其他字符一起使用以制作特殊符号,例如

\n is new line
\t is a tab

因此,如果您在\中使用一个 C:\a.txt ,则会认为\a是一个特殊的字符,而使用\\将是转换为\

答案 3 :(得分:0)

请记住:Backslash is NOT a path separator!

答案 4 :(得分:0)

它也很好用File.separator来获取运行JVM的操作系统所需的分隔符'/'或'\'(如果还有其他我不知道的话)。