2010-10-23 40 views

Trả lời

9

Bạn có thể lấy tên của hệ điều hành thông qua

System.getProperty("os.name") 

Có một cái nhìn tại this page cho một số mẫu mã.


Nếu đó là bởi bất kỳ cơ hội IP của các máy chủ địa phương mà bạn đang quan tâm, có nhiều cách để có được điều này trực tiếp trong Java:


Không có cách nào để xác định thông tin "hiển thị thông tin ip" là gì hoặc một hệ điều hành tùy ý. Bạn sẽ phải mã hóa cứng lệnh nào (nếu là một) cho mỗi tên hệ điều hành theo cách thủ công.

+0

Cảm ơn bạn. Tôi biết điều đó nhưng tôi cần phải biết làm thế nào để làm cho chương trình quyết định quá trình thực hiện trong thời gian chạy tùy thuộc vào os – jboy

+0

"Mac OS X" cho tôi! –

+0

@Tony Ennis: sau đó * "ifconfig" * sẽ hoạt động tốt ... (Ngoài ra còn có một ipconfig trên OS X, nhưng đó là một khác nhau). Bên cạnh đó, * ifconfig * của OS X là khá nhiều * ifconfig * của Linux. – SyntaxT3rr0r

3

xây dựng trên aioobe's solution:

final String osname = System.getProperty("os.name").toLowerCase(); 
String processName; 
if(osname.startsWith("win")) 
    processName="ipconfig /some /parameter"; 
else 
    processName="ifconfig -some -parameter"; 
Runtime.getRuntime().exec(processName); 
3

Để tham khảo, đây là một bê tông example rằng thiết lập một tài sản duy nhất cho một hệ điều hành cụ thể:

if (System.getProperty("os.name").startsWith("Mac OS X")) { 
    System.setProperty("apple.awt.graphics.UseQuartz", "true"); 
} 
5

Là một bổ sung cho các câu trả lời khác, tôi sẽ đề cập đến SystemUtils từ Commons Lang hiển thị các hằng số khác nhau như IS_OS_UNIX, IS_OS_WINDOWS, v.v.

Các vấn đề liên quan