6
Tôi có một cái bình nếu tôi chạy từ dòng lệnh trả về cho tôi một bản in đúng hoặc sai in trên bảng điều khiểnBắt đầu ra bàn điều khiển từ lọ trong C#
tôi đang cố gắng chạy từ C# và nhận kết quả - đang được thực hiện như thế này
Process p = new Process();
p.StartInfo = new ProcessStartInfo("java", @"-jar test.jar " + paramterForStringArgs[0]);
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
String s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Trace.WriteLine("data = " + s);
return false;
Tôi dường như luôn nhận được chuỗi rỗng và tự hỏi tại sao điều này có thể xảy ra hoặc nếu có cách nào tốt hơn?
Cố gắng thực hiện điều đó bằng lệnh "java.exe -version" và xem điều đó có hiệu quả không. – djangofan
Bạn cũng có thể cần đặt RedirectStandardError và gọi p.StandardError.ReadToEnd(). – jonathanpeppers
chuyển hướng đến luồng stderror cho phép tôi thấy lỗi mà bình không thể truy cập được. Tôi quên đặt bản sao vào thư mục đầu ra để sao chép nếu mới hơn - tôi lãng phí mỗi lần. xin lỗi - nhưng nó hoạt động - yay :) – James