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

时间:2016-02-06 05:25:41

标签: 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");
    }
}

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

Illegal escape character.

为什么会这样?

2 个答案:

答案 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

的更多信息