Tôi đang cố gắng chạy tệp .bat và nhận kết quả đầu ra. Tôi có thể chạy nó nhưng tôi không thể nhận được kết quả bằng Java:Lấy đầu ra từ tệp BAT bằng cách sử dụng Java
String cmd = "cmd /c start C:\\workspace\\temp.bat";
Runtime r = Runtime.getRuntime();
Process pr = r.exec(cmd);
BufferedReader stdInput = new BufferedReader(
new InputStreamReader(pr.getInputStream()));
String s ;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
Kết quả là null
. Không có ý tưởng tại sao tôi nhận được điều này. Lưu ý rằng tôi đang sử dụng Windows 7.
Đọc (và triển khai) * tất cả * đề xuất của [Khi Runtime.exec() sẽ không] (http://www.javaworld.com/jw-12-2000/jw-1229-traps.html) . Điều đó có thể giải quyết vấn đề. Nếu không, nó sẽ cung cấp thêm thông tin vì lý do nó không thành công. Sau đó bỏ qua nó đề cập đến 'exec' và xây dựng' Process' bằng cách sử dụng một 'ProcessBuilder'. Ngoài ra, ngắt chuỗi 'String arg' thành' String [] args' để tính các đối số có chứa dấu cách. –