【发布时间】:2013-07-14 18:24:58
【问题描述】:
在我的网络应用程序中,我想允许管理员执行系统命令,例如:
Process proc = Runtime
.getRuntime()
.exec("cmd.exe /C dir C:\\\"Program Files (x86)\"\\jboss-as-7.1.1.Final_JAX-RS_BookStore\\"+subDir);
我现在通过以下方式检索 JBoss 主目录:
String SERVER_HOME = System.getenv("JBOSS_HOME");
不幸的是,这会返回C:\Program Files (x86)\jboss-as-7.1.1.Final_JAX-RS_BookStore 而不是:C:\\\"Program Files (x86)\"\\jboss-as-7.1.1.Final_JAX-RS_BookStore\\,因此.exec(...) 命令将不再起作用。
如何正确格式化此文件路径?
【问题讨论】:
-
阅读(并实施)所有 When Runtime.exec() won't 的建议。然后忽略它引用
exec并使用ProcessBuilder构建Process。还要将String arg分解为String[] args以说明本身包含空格的参数。
标签: java environment-variables string-formatting file-location command-execution