我想在运行时在 java 程序中以编程方式获取 os 名称。我试过了,System.getProperty("os.name")但结果是"Linux"。这该怎么做?
我发现只有三个系统属性可以确定操作系统详细信息:
os.name : Linux
os.version : 3.13.0-74-generic
os.arch " amd64
Run Code Online (Sandbox Code Playgroud)
ubuntu 特定的解决方案是读取这些文件:
/etc/*-release
Run Code Online (Sandbox Code Playgroud)
为了我 :
$ 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/"
Run Code Online (Sandbox Code Playgroud)
和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());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4082 次 |
| 最近记录: |