我认为您最好使用 exec(String []
cmdarray)
而不是 exec(String
cmd)
。这是因为 exec(String
cmd)
通过
StringTokenizer
标记了参数,而在分解命令行参数时根本不注意双引号。
尝试这样的事情:
ArrayList<String> argList = new ArrayList<String>();argList.add("param1");argList.add("param2");argList.add("param2");String[] args = argList.toArray(new String[argList.size()]);Runtime.getRuntime().exec("mycommand", args);除了Java源代码字符串文字可能需要转义外,param值内的字符不需要引号或转义。



