错误:非法转义字符 - 尝试创建路径时

Tho*_*hor 1 java windows path

我是 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");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,IDE 输出错误:

Illegal escape character.
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

use*_*460 5

某些字符在 Java(和许多其他语言)中的字符串中使用时具有特殊含义。

反斜杠\可用于转义字符。在Java中一些有效的转义字符一样\t标签,并\n新行

因此,如果您只使用一个\. 编译器会假设您正在尝试为以下对象创建转义序列:

\U, \J, \D, \N, \x  
Run Code Online (Sandbox Code Playgroud)

并且这些转义序列不存在,因此给您错误。


如果您正在使用\,则必须将其转义为\\.

但是,如果您使用/正斜杠,则不必这样做。

所以你可以有这样的路径:

"C:\\Users\\Justin\\Documents\\NetBeansProjects\\JavaApplication\\xanadu1.txt"
Run Code Online (Sandbox Code Playgroud)

或者像这样:

"C:/Users/Justin/Documents/NetBeansProjects/JavaApplication/xanadu1.txt"
Run Code Online (Sandbox Code Playgroud)