Как мне узнать, какая битовая архитектура моей ОС из кода Java? [Дубликат]

1

Я хочу определить битовую архитектуру моей операционной системы, т.е. будь то 32-разрядная ОС или 64-разрядная ОС с использованием кода Java.

Я пробовал следующее:

  System.out.printlnSystem.getProperty("os.name"));     //gives OS name -> Windows/Linux/Solaris
  System.out.println(System.getProperty("os.arch"));   //gives JVM architecture -> amd64
  System.out.println(System.getProperty("sun.arch.data.model"));   //gives JVM architecture again but just the bit -> 64

Однако ни одно из приведенных выше не дает мне архитектуры ОС. Они дают соответствующий вывод, который упоминается в комментариях, кроме строк кода.

Как определить архитектуру ОС?

  • 0
    os.arch сообщает вам, на os.arch JRE работает ваша программа. К сожалению, нет прямого способа узнать архитектуру OS, вам придется продолжить с JNI.
  • 0
    Что не так с "os.arch"? Это уже возвращает amd64?
Показать ещё 3 комментария
Теги:
operating-system
jvm

2 ответа

0

Я надеюсь, что эта одна строка может вам помочь.

public class OS {

public static void main(String[] args) {
    //System.out.println("OS name : "+System.getProperty("os.name"));
    //System.out.println("OS arch : "+System.getProperty("os.arch"));
    //System.out.println(System.getProperty("sun.arch.data.model")); 
    //System.out.println(System.getenv().get("PROCESSOR_ARCHITECTURE"));


    System.getProperties().list(System.out);

 }
}
  • 0
    System.out.println (. System.getenv () получить ( "PROCESSOR_ARCHITECTURE")); дает архитектуру JRE.
0

Вы можете проверить переменную окружения, например, для Windows

System.out.println(System.getenv().get("PROCESSOR_ARCHITECTURE"));
  • 0
    Разве это не идентично System.out.println(System.getProperty("os.arch")) ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню