解决:Invalid escape sequence (valid ones are \b \t \n \f \r \” \’ \\ )

来源:互联网 发布:java开发app 编辑:程序博客网 时间:2024/04/25 18:31

         本人是个java新手   今天在联系runtime的时候发现了一个问题  

             就是在 runtime.exec("F:\英雄联盟\英雄联盟\Game\League of Legends");   

            运行这条语句的时候报错了  !!!

             我滴乖乖  我可是严格按照教程走的    难道我写错了    于是我反复写了几遍   依然报错!   这时怎么办呢??

           JDK嘛     搜索了一下jdk帮助文档,找到了这么一段话:

           根据Java Language Specification 的要求,Java 源代码的字符串中的反斜线

            被解释为Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,

          表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式

            时(很明显String.replaceAll("","")第一个参数就会被解释为正则表达式),字符串字

           面值 "\b" 与单个退格字符匹配,而 "" 与单词边界匹配。字符串字面值 "\(hello\)"

           是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字

           面值 ")"。

         意思就是当只有单 \  时候     Java默认为是转义符  把后边跟着的字符给转义  所以会报错

        所以解决方案就比较简单了   :在单 “ \ ” 的地方都换为 “  \\ ”  

        OK   成功 运行!

0 0