1
我有一些代碼產生一個進程,正在執行的文件是一個Java應用程序,我的意圖是從它讀取輸出。C#進程+ Backgroundworker和計時器錯誤
問題是,當我撥打Start
時,我無法在該點後讀取輸出流。如果我在調用Start
後測試並調用Console.Beep
,則會發出嘟嘟聲 - 因此顯然正在執行這些行。
Control.CheckForIllegalCrossThreadCalls = false;
Process java = new Process();
java.StartInfo.FileName = "java";
java.StartInfo.Arguments = "-Xms1024M -Xmx1024M -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui";
java.StartInfo.RedirectStandardOutput = true;
java.StartInfo.UseShellExecute = false;
java.Start();
System.Console.Beep();
System.Console.Write("hejsan");
StreamReader Reader = java.StandardOutput;
txtLog.Text = Convert.ToString(System.Console.Read());
broadcast(Convert.ToString(System.Console.Read()), "[Server]", false);
爲什麼我無法從輸出流中讀取數據?
請定義問題,因爲它是一個很差的問題。 –
我再說一遍,在java.Start()之後它不會返回System.Console.ReadLine(),Read()或anythign! – redpois0n
您需要等待流程結束才能讀取流。 –