我是Java的新手,正在尝试学习如何创建路径。以下是我写的代码:
import java.io.IOException;
import java.nio.file.Paths;
import java.nio.file.Path;
public class CopyBytes {
public static void main(String[] args) throws IOException {
Path p1 = Paths.get("C:\Users\Justin\Documents\NetBeansProjects\JavaApplication\xanadu1.txt");
}
}
但是,当我运行代码时,IDE输出错误:
Illegal escape character.
为什么会这样?
答案 0 :(得分:4)
某些字符在Java(以及许多其他语言)中的字符串中使用时具有特殊含义。
反斜杠\
可用于转义角色。 Java中的一些有效转义字符与 标签 的\t
和 换行符 的\n
类似>。
因此,如果您只使用一个\
。编译器将假设您正在尝试为:
\U, \J, \D, \N, \x
并且这些转义序列不存在,因此会给您错误。
如果您使用\
,则必须将其转义为\\
。
但是如果使用/
正斜杠,则不必使用。
所以你可以有这样的路径:
"C:\\Users\\Justin\\Documents\\NetBeansProjects\\JavaApplication\\xanadu1.txt"
像这样或:
"C:/Users/Justin/Documents/NetBeansProjects/JavaApplication/xanadu1.txt"
答案 1 :(得分:2)
像@Satya一样,你必须使用双向反斜杠\\
单个\
启动一个所谓的转义序列来表示几个特殊的(不可打印的)字符。
您可以找到有关转义序列in this Wikipedia article
的更多信息