我有一个要传递给进程的 String[]。出于某种奇怪的原因,我的 IDE 给了我一个错误,即需要大括号并且我的语句不是完整的语句。我检查了代码中的所有地方,但没有看到一个大括号不合适,所以我很困惑为什么会出现这个错误。这是代码:
String[] cmdArray4 = {"/bin/tcsh","-c","sed -e 's/SPACE/"+matlab1spacing+"/' -e 's/MAX/"+matlab1dmax+"/' -e 's/NAME/"+matlab1filename"/' /filepath/matlabscript1.m > /filepath/matlabscript2.m"};
Process passVarstoMatlab;
passVarstoMatlab = Runtime.getRuntime().exec(cmdArray4);
我尝试转义单引号字符以查看是否可能是问题所在,但这并没有什么不同。更令人困惑的是,我有一个格式非常相似的 String[] 在不同的方法中工作得非常好。这是我用作参考的 String[]:
String[] cmdArray3 = {"/bin/tcsh","-c", "sed -e 's/AAA/"+newFirstLine+"/' -e 's/BBB/"+newCntr+"/' -e 's/SPACE/"+newSpacing+"/' -e 's/MAX/"+newDmax+"/' /filepath/gnom_Dmax_scan.pl > /filepath/g2.pl"};
也许有一些我没有看到的小错误,所以我将不胜感激。谢谢。