例如当我使用
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 的操作系统所需的分隔符 '/' 或 '\' (如果还有其他人,那么我不知道它们)。