Đây là trong ngữ cảnh của chương trình Processing cục bộ. Tôi muốn chạy một chương trình bên ngoài để lấy một số dữ liệu. Có một hàm popen() hoặc hàm tương đương tôi có thể sử dụng không?Java: popen() - giống như chức năng?
7
A
Trả lời
9
Process process = Runtime.getRuntime().exec("your command");
Sau đó, bạn có thể đọc và ghi dữ liệu bằng cách sử dụng luồng Process
.
2
JDK5 giới thiệu ProcessBuilder để kiểm soát nhiều hơn quá trình tạo quy trình.
Process process = new ProcessBuilder(command).start()
Hãy nhận biết của một thực tế, rằng nội forkAndExec được gọi, và ngã ba 'tạo một bản sao của toàn bộ các bậc cha mẹ không gian địa chỉ', vì vậy mà ngay cả một chút lệnh có thể dẫn đến OutOfMemoryErrors, khi quá trình cha mẹ đã lớn dung lượng bộ nhớ thu được.
+0
Bạn có thể thêm một liên kết đến tài liệu ProcessBuilder không? – jwfearn
chỉ là những gì tôi cần ... cảm ơn! –