2010-02-16 38 views
7

Tôi có một ứng dụng Java cần chạy khác khi trên Windows 7.Làm cách nào để kiểm tra nền tảng Windows 7?

Bạn sẽ kiểm tra phiên bản Windows nào có mặt? Có đủ để kiểm tra phiên bản OS 6.1 không?

+0

Cảm ơn câu trả lời! Tôi cũng tự hỏi số phiên bản sẽ trông như thế nào sau gói dịch vụ tiếp theo - 6.1.1 hoặc cái gì? Nếu vậy, nó không phải là một đôi đơn giản nữa ... – paul

+2

Nếu bạn cần kiểm tra phiên bản Windows, có thể bạn đang tấn công vấn đề của mình từ góc độ sai. Bạn đang cố gắng đạt được điều gì? –

+0

@ Vì vậy,/nó chỉ là rằng các máy tính muốn thay đổi đường dẫn lưu trữ dữ liệu mặc định cho mới (Win7) rollouts. Tôi sẽ phải sử dụng một con đường riêng biệt. Tôi đoán tôi có thể yêu cầu một biến môi trường nhưng bây giờ đã quá muộn ... – paul

Trả lời

5

Tôi đã giải quyết cùng một vấn đề kiểm tra cũng cho os.name, theo một cách vô-an toàn:

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) && "6.1".equals(osVersion); 
} 
2

Số phiên bản hệ điều hành là khá khác biệt.

Ví dụ, XP được thể hiện bằng số 5.1 và Windows 7 ký hiệu là 6,1

Những con số xây dựng xác định các bản cập nhật, và các gói dịch vụ.

Cần kiểm tra số phiên bản hệ điều hành khá đáng tin cậy. nhưng hãy nhớ rằng Java được phép chạy trên Linux và Mac nếu Java được cài đặt trên máy.

2
System.getProperty("os.name") 
System.getProperty("os.version") 

Windows 7 = phiên bản 6.1

1

Fix để trả lời DFA 's :

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) || "6.1".equals(osVersion); 
} 

|| thay vì & &

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