例如当我使用
C:\\a.txt
它工作正常,但是当我使用
C:\a.txt
它不是。
任何人都可以解释两者之间的区别,除了说一个有效而另一个无效。
谢谢
\
是用于转义其他特殊字符的特殊字符。因此,如果单个\
存在,它将被解释为字符串中的特殊字符,但由于没有什么可以转义,因此被认为是“错误用法”。
因此,\
必须将其转义一秒钟\
以赋予其字面意义。
单个\
表示对编译器具有特定含义的转义序列。\\
基本上逃脱了转义序列。因此,如果您键入C:\a
编译器将\a
其视为转义序列,这是您不打算的。
http://docs.oracle.com/javase/tutorial/java/data/characters.html
在 java 中,该\
符号保留用于与其他 char 一起使用以制作特殊符号,例如,
\n is new line
\t is a tab
所以如果你\
在其中使用一个喜欢C:\a.txt
它会认为这\a
是一个特殊的字符,而使用\\
将被转换为一个\
只是要记住的一句话:Backslash is NOT a path separator!
它也很好地使用 File.separator 来获取运行 JVM 的操作系统所需的分隔符 '/' 或 '\' (如果还有其他人,那么我不知道它们)。