プロセスに渡したい String[] があります。奇妙な理由で、私の IDE は、中かっこが必要であり、ステートメントが完全なステートメントではないというエラーを出しています。私は自分のコードのあらゆる場所をチェックしましたが、中かっこが 1 つ間違っていないので、なぜこのエラーが発生するのか混乱しています。コードは次のとおりです。
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"};
私が見ていない小さなエラーがあるかもしれませんので、助けていただければ幸いです。ありがとう。