Как получить имя os (ubuntu) в java программе [закрыто]

Я хочу программно получить имя операционной системы в java-программе во время выполнения. Я пробовал System.getProperty("os.name"), но результат "Linux". Как это сделать?

2
задан 18 September 2016 в 07:48

1 ответ

Я обнаружил, что есть только три системных свойства, чтобы определить детали ОС:

os.name : Linux
os.version : 3.13.0-74-generic
os.arch " amd64

Ubuntu определил решение для чтения этих файлов:

/etc/*-release 

для меня:

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

и код Java:

File file = new File("/etc");
File[] list = file.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.endsWith("-release");
    }
});
for (File f : list) {
    Scanner s = new Scanner(new FileInputStream(f));
    while (s.hasNext()) {
        System.out.println(s.nextLine());
    }
}
5
ответ дан 2 December 2019 в 01:56

Другие вопросы по тегам:

Похожие вопросы: