如何使用Java获取Ubuntu版本?
我正在尝试使用Java获取Ubuntu版本,但有一个问题 当使用如何使用Java获取Ubuntu版本?,java,ubuntu,Java,Ubuntu,我正在尝试使用Java获取Ubuntu版本,但有一个问题 当使用System.getProperty(“os.version”)时,返回内核版本 如何获得“14.04”等发行版 您可以在Java类中使用 Runtime.getRuntime().exec("lsb_release -a"); 并解析输出 编辑:清除解决方案 String[] args = new String[] {"/bin/bash", "-c", "lsb_release -r", "with", "args"}; P
System.getProperty(“os.version”)
时,返回内核版本
- 如何获得“14.04”等发行版
Runtime.getRuntime().exec("lsb_release -a");
并解析输出
编辑:清除解决方案
String[] args = new String[] {"/bin/bash", "-c", "lsb_release -r", "with", "args"};
Process proc = new ProcessBuilder(args).start();
注意:您需要使用lsb_release-r来获取版本。Java在其操作系统文档中定义了以下系统属性,但没有一个适用于您的情况
“os.arch”-操作系统架构
“os.name”-操作系统名称
“操作系统版本”-操作系统版本
您必须使用如下java代码执行lsb_release-a
命令
Runtime.getRuntime().exec("lsb_release -a");
这将为您提供如下输出
没有可用的LSB模块
分销商ID:LinuxMint
描述:Linux Mint 18.1 Serena
发行:18.1
姓名:瑟琳娜
您可以对其进行解析并获得输出。以下是实现您的目标的一个片段:
String version = (new BufferedReader(new InputStreamReader((new ProcessBuilder("lsb_release", "-rs")).start().getInputStream()))).readLine();
System.out.println(version);
这两行显示如下内容:
14.04
在java
os.name、os.arch、os.version中可用。下面的答案可能有助于youFSG lsb_发行版v2.0+打印某些lsb(Linux标准库)和发行版信息,如发行版。它应该出现在Ubuntu上。