1
をコマンドへのJavaを使用した:その第二にコマンドを書く私が使用MATLABを使用しようとしているMatlabの
をMatlabのの2番目のインスタンスを起動するために、新しいJavaプロセスを作成し、
Matlabの最初のインスタンスからのMatlabのインスタンス
コードは正常に動作しているようですが、2番目のMatlabインスタンスのコマンドウィンドウに何も表示されません。私は間違って何をしていますか?
私が試したコードは次のとおりです。
% Start a 2nd instance of Matlab
MatlabProcess = java.lang.Runtime.getRuntime().exec('matlab -nosplash');
pause(20); % I don't know if this pause is really needed.
% Set up a buffered Java stream writer to write to the new Matlab Process
OutputStream = MatlabProcess.getOutputStream();
OutputStreamWriter = java.io.OutputStreamWriter(OutputStream);
OutputBufferedWriter = java.io.BufferedWriter(OutputStreamWriter);
% Write some text to the 2nd Matlab Instance
OutputBufferedWriter.write('pi\n');
OutputBufferedWriter.flush();
秒のMatlabインスタンスを開始するとき: MatlabProcess = java.lang.Runtime.getRuntime()。exec( 'matlab -nosplash -nodesktop'); コマンドウィンドウが起動せず、getInputStream()を介してMatlabの生成されたインスタンスから出力を読み取ることができます。 私はまだ上記のコードで出力ストリームに書き込むことはできません。コードはOKを実行するようですが、Matlabの2番目のインスタンスには何も書き込まれていないようです。 – Greg
@Greg:出力ストリームには書き込みを行わず、入力ストリーム(子プロセスのstdinを意味します)に書き込みます。 Javaのドキュメントはすべて壊れています。 –
お返事ありがとうございます。私はかなりJavaに慣れていないし、InputStreamに書き込むという考え方に混乱している。 私が理解する限り、JavaのInputStreamにはwrite()メソッドがありません。しかし、Java OutputStreamは次のようになります。 http://docs.oracle.com/javase/1.4.2/docs/api/java/io/OutputStream.html 私は何かを見逃しているに違いないが、それが何であるかを理解するのが難しい。 – Greg