Tôi muốn sử dụng công cụ dòng lệnh linux từ chương trình Java của tôi. Tôi bắt đầu chương trình và nhận được đầu ra bằng cách sử dụng lớp Process (http://download.oracle.com/javase/6/docs/api/java/lang/Process.html):Giao tiếp với một công cụ dòng lệnh trong Java
/* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
Process proc = Runtime.getRuntime().exec("octave");
BufferedReader reader =
new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader errorReader =
new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedWriter writer =
new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
int c;
while((c = proc.getInputStream().read()) != -1) {
System.out.print((char)c);
}
System.out.println("End");
}
tôi nhận được kết quả như sau:
octave, phiên bản 3.0.5 Bản quyền (C) 2008 John W Eaton và những người khác. Đây là phần mềm miễn phí; xem mã nguồn để sao chép các điều kiện. Có TUYỆT ĐỐI KHÔNG BẢO ĐẢM; thậm chí không cho TRÁCH NHIỆM BÁN HÀNG HOẶC PHÙ HỢP CHO MỘT SỐ MỤC ĐÍCH CỤ THỂ. Để biết chi tiết, hãy nhập 'bảo hành'.
Octave được định cấu hình cho "i486-pc-linux-gnu".
Thông tin bổ sung về Octave là có sẵn tại http://www.octave.org.
Vui lòng đóng góp nếu bạn tìm thấy phần mềm này hữu ích. Để biết thêm thông tin, lần http://www.octave.org/help-wanted.html
Báo cáo lỗi (nhưng đầu tiên, vui lòng đọc http://www.octave.org/bugs.html để học làm thế nào để viết một báo cáo hữu ích).
Để biết thông tin về các thay đổi từ các phiên bản trước, hãy nhập 'tin tức'.
Điều kỳ lạ là sản phẩm bình thường nếu tôi chạy quãng tám trong Terminal là như sau:
: ~/workspace/Console/src/c $ quãng tám
octave, phiên bản 3.0. 5 Bản quyền (C) 2008 John W. Eaton và những người khác. Đây là phần mềm miễn phí; xem mã nguồn để sao chép các điều kiện. Có TUYỆT ĐỐI KHÔNG BẢO ĐẢM; thậm chí không cho MERCHANTABILITY hoặc PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. Để biết chi tiết, hãy nhập 'bảo hành'.Octave được định cấu hình cho "i486-pc-linux-gnu".
Thông tin bổ sung về Octave có sẵn tại http://www.octave.org.
Vui lòng đóng góp nếu bạn thấy phần mềm này hữu ích. Để biết thêm thông tin, hãy truy cập http://www.octave.org/help-wanted.html
Báo cáo lỗi đến (nhưng trước tiên, vui lòng đọc http://www.octave.org/bugs.html để học cách viết báo cáo hữu ích).
Để biết thông tin về các thay đổi từ các phiên bản trước, hãy nhập 'tin tức'.
quãng tám: 1>
Vì vậy, các nhân vật trong dòng nơi đầu vào được yêu cầu không được gửi trong luồng đầu vào của tôi. Tại sao?Không phải là nó có thể phát hiện đầu vào được yêu cầu?
Cảm ơn câu trả lời của bạn!
Heinrich
Cảm ơn bạn đã liên kết đến joPAS. Tôi sẽ xem xét API. Dù sao, tôi vẫn còn tò mò tại sao tôi không nhận được các ký tự "octave: 1>" trong chương trình Java của tôi. – Erik