【发布时间】:2012-01-08 16:57:26
【问题描述】:
我正在尝试使用 System.getenv 函数在计算机上创建一个路径,它在路径中返回一个 \ 而不是我需要的 /。我尝试过使用 replaceAll 方法,但它返回错误:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at Launcher.start(Launcher.java:75)
at Launcher.Download(Launcher.java:55)
at Launcher.<init>(Launcher.java:31)
at Launcher.main(Launcher.java:17)
代码行是:
InputStream OS = Runtime.getRuntime().exec(new String[]{"java",System.getenv("APPDATA").replaceAll("\\", "/")+"/MS2-torsteinv/MS2-bin/no/torsteinv/MarsSettlement2/Client/Client.class"}).getErrorStream();
【问题讨论】:
-
“它在路径中返回一个 \ 而不是我需要的 /。” 如果环境返回一个路径的值,它将返回一个使用的值默认路径分隔符。为什么你需要改变它?顺便说一句 - 请修复您的换档键。这不是短信。