Có cách nào nhanh hơn trong Java không?
Xét về hiệu suất, không.
Về mặt nỗ lực mã hóa, có thể là không. Chắc chắn tôi không biết về bất kỳ thư viện Java bên thứ ba nào sẽ tìm kiếm đường dẫn tìm kiếm lệnh để xem liệu một tệp thực thi có tồn tại hay không.
Thật không may khi tìm kiếm tệp thực thi trên Windows hơi phức tạp vì bạn phải tính đến nhiều loại tệp thực thi khác nhau ... dựa trên hậu tố tệp. Ngay cả trên Linux/Unix, bạn cần sử dụng các API thuộc tính tệp Java 7 mới để xác định xem một tệp ứng viên có tập quyền thực thi hay không.
(Tôi biết rằng một số lệnh có thể chạy theo cách vô hại; ví dụ: chúng có thể hỗ trợ tùy chọn/đối số xuất ra chuỗi phiên bản hoặc thông tin trợ giúp. Tuy nhiên, chỉ hoạt động trong các trường hợp cụ thể. m cũng biết rằng trên Unix/Linux, có một lệnh trình bao được gọi là "whereis" có thể cho bạn biết nếu một lệnh thực thi có tên đã tồn tại trên đường dẫn tìm kiếm.)
Nguồn
2013-03-20 13:23:12
Vì nó đáng giá, tôi không 't nghĩ rằng có một cách tốt hơn so với những gì bạn đề xuất – Miquel
@Nix là câu hỏi đó trong SCALA? Tôi hỏi trong JAVA dude – w00d
@ w00d bạn có thấy bất kỳ điểm tương đồng nào giữa câu trả lời bên dưới và câu trả lời cho câu hỏi đó không? Liên kết này cũng có cùng chủ đề http://stackoverflow.com/questions/2439984/how-to-check-if-a-program-is-installed-on-system. Hãy dành thời gian và tự nghiên cứu 'dude.' – Nix