Tôi có một vấn đề nhỏ khi thực hiện một công cụ dòng lệnh. Tôi muốn thực thi UnRAR.exe từ WinRAR. Tôi làm như sau:Java thực thi chương trình dòng lệnh
Process process = runtime.exec("\"" + unrarPath + "\"" + " x -kb -vp " + "\"" + fileName + "\"", null, f.getParentFile());
Vấn đề của tôi là tệp nén được bảo vệ bằng mật khẩu. Nếu tôi thực hiện lệnh trong giao diện điều khiển của tôi, tôi được yêu cầu nhập mật khẩu. Nếu tôi để Java thực thi nó, chương trình chỉ kết thúc và không bao giờ chờ đợi một đầu vào của người dùng (mật khẩu).
Tôi đã cố gắng ghi vào luồng đầu ra của quá trình nhưng điều đó không hoạt động. Có điều gì tôi cần biết về hành vi của các chương trình dòng lệnh được thực hiện trong các môi trường "khác nhau" không?
EDIT: Có thể tôi chưa đủ rõ ràng. Câu hỏi của tôi là: Có thể tương tác với một chương trình dòng lệnh bằng Java không?
tôi thêm câu trả lời mới và xóa cũ. Tôi hy vọng câu trả lời mới sẽ làm hài lòng bạn. – Kamil