Java 无效的转义序列

Posted

技术标签:

【中文标题】Java 无效的转义序列【英文标题】:Java Invalid escape sequences 【发布时间】:2015-05-05 07:11:16 【问题描述】:

我有这个错误:“无效的转义序列(有效的是 \b \t ...”在我的代码 Java 中。

我在我的 code.java 中制作:

    ...
    r.exec("cmd /c D:\Doc and Settings\USER\Bureau\Apps-Two.loc.nal");
    ...

问题是逃逸。 如何解决这个问题?

谢谢

【问题讨论】:

【参考方案1】:

你只需要转义转义字符:

r.exec("cmd /c D:\\Doc and Settings\\USER\\Bureau\\Apps-Two.loc.nal");

见Escape Sequences for Character and String Literals:

EscapeSequence:
    \ b    /* \u0008: backspace BS */
    \ t    /* \u0009: horizontal tab HT */
    \ n    /* \u000a: linefeed LF */
    \ f    /* \u000c: form feed FF */
    \ r    /* \u000d: carriage return CR */
    \ "    /* \u0022: double quote " */
    \ '    /* \u0027: single quote ' */
    \ \              /* \u005c: backslash \ */
    OctalEscape        /* \u0000 to \u00ff: from octal value */

【讨论】:

您的 IDE 可以自动为您完成。 IntelliJ IDEA 默认自动执行,Eclipse 可以配置为转义字符串,请参阅:vasanth.in/2009/03/10/eclipse-tip-escape-text-when-pasting【参考方案2】:
r.exec("cmd /c D:\Doc and Settings\USER\Bureau\Apps-Two.loc.nal"); // Compiler not able to understand this backslash.

您应该在想要使用实际反斜杠 (\) 的任何地方使用“\\”

像这样改变你的文件夹路径

r.exec("cmd /c D:\\oc and Settings\\USER\\Bureau\\Apps-Two.loc.nal");

参考附表

【讨论】:

以上是关于Java 无效的转义序列的主要内容,如果未能解决你的问题,请参考以下文章

Julia - 由显示方程触发的无效转义序列

Swift UITesting 错误:文字中的转义序列无效。 \U201c

如何在Python中修复“DeprecationWarning:无效的转义序列”?

io.netty.handler.codec.http.multipart.HttpPostRequestDecoder$ErrorDataDecoderException:错误的字符串无效的转义序列

命令行参数中的转义序列 (Java)

Java初学者-转义序列[重复]