2013-05-11 137 views
0

將控制檯的輸出保存到.txt文件時出現問題。有人可以幫我弄這個嗎 ? txt文件中只有一行「Enter input」。而已。試圖將控制檯的輸出保存到txt文件

 ProcessStartInfo startInfo = new ProcessStartInfo("plink.exe"); 
     startInfo.RedirectStandardError = true; 
     startInfo.Arguments = "@xxx.xxx.xxx.xxx -l xxx-pw xxxx"; 
     startInfo.RedirectStandardInput = true; 
     startInfo.RedirectStandardOutput = true; 
     startInfo.UseShellExecute = false; 
     Process process = new Process(); 

     process.OutputDataReceived += (sender, e) => 
     { 
      string Results = e.Data; 
      Console.WriteLine(Results); 
      //Console.WriteLine(e.Data); 
     }; 


     FileStream ostrm; 
     StreamWriter writer; 
     TextWriter oldOut = Console.Out; 

     process.StartInfo = startInfo; 
     process.Start(); 

     ostrm = new FileStream("D:/userdata/xxx/Desktop/Redirect.txt", FileMode.OpenOrCreate, FileAccess.Write); 
     writer = new StreamWriter(ostrm); 

     Console.WriteLine("Enter input:"); 
     string line = Console.ReadLine(); 

     Console.SetOut(writer); 

     process.BeginOutputReadLine(); 
     process.StandardInput.WriteLine("c7xtermx -n xxxxxxx"); 
     process.StandardInput.WriteLine("ZEEI:BCF=" + line + ";"); 

     Console.SetOut(oldOut); 
     writer.Close(); 
     ostrm.Close(); 
     process.WaitForExit(); 
+0

你的代碼是什麼樣子? – adrianbanks 2013-05-11 23:22:45

+0

我已更新代碼 – user2373934 2013-05-12 07:09:36

回答

0

進程可能試圖在所有數據刷新之前讀取一行。添加到您的代碼,並讓我知道它是否工作:

writer.AutoFlush = true; 
+0

不,它不工作。 – user2373934 2013-05-12 07:03:13

相關問題