2011-02-03 16 views
11

Tôi đã tìm kiếm một câu trả lời cho điều này và tôi không thể tìm thấy câu trả lời. Tôi có thể nhận được đường dẫn của chương trình đang chạy nhưng tôi không thể có được tên! Về cơ bản, tôi đang tạo một ứng dụng có thể là một .exe hoặc .jar (Nó phức tạp) và tôi cần biết cái nào! Vì vậy, không ai biết làm thế nào tôi có thể nhận được tên tập tin/phần mở rộng của chương trình đang chạy (trong Java) xin vui lòng?Lấy tên chương trình Java

Cảm ơn trước

Andy

+0

Câu hỏi không rõ ràng. Quy trình A được khởi chạy thông qua trình khởi chạy (.exe hoặc .jar) bạn có muốn tìm hiểu chi tiết về trình khởi chạy trong tiến trình A hay trong một số quy trình khác B. Dựa trên java là gì? quy trình A hoặc quy trình B? –

Trả lời

5

Make 'tên của chương trình' một tài sản đó được chuyển cho chương trình của bạn thông qua chuyển đổi dòng lệnh '-D', như vậy

java -Dprogram.name=myApp.jar -jar myApp.jar 

đọc trong mã của bạn như vậy

if ("myApp.jar".equals(System.getProperty("program.name"))) { 
    // perform appropriate actions... 
} 
+0

cảm ơn, tôi đã nhận xét ở trên liên quan đến câu trả lời của bạn là tốt! – Andy

4

Chương trình thực tế chạy tệp JAR sẽ là java.exe.

Tôi đề nghị bạn tiếp cận vấn đề từ một góc hoàn toàn khác và có trình bao bọc exe đặt thuộc tính hệ thống mà chương trình truy vấn. Hoặc bạn có thể có nó và biểu hiện JAR chỉ định các lớp chính khác nhau.

+0

Xin chào, bây giờ tôi thấy ý nghĩa - cảm ơn bạn đã trả lời. Tôi sẽ cố gắng những gì bạn đã gợi ý nhưng tôi sẽ tìm thấy một công việc xung quanh bằng cách nào đó! – Andy