📌  相关文章
📜  获取 Windows 和 Linux 机器系统名称的Java程序(1)

📅  最后修改于: 2023-12-03 15:11:50.801000             🧑  作者: Mango

获取 Windows 和 Linux 机器系统名称的 Java 程序

在 Java 中获取当前操作系统名称是一个很常见的需求,特别是在开发跨平台的应用程序时。在本文中,我们将介绍如何使用 Java 获取当前运行程序的操作系统名称,包括 Windows 和 Linux 系统。

在 Windows 中获取系统名称

在 Windows 操作系统中,我们可以使用 System.getProperty("os.name") 方法获取系统的名称。以下是通过 Java 代码获取 Windows 系统名称的示例:

public class Main {
    public static void main(String[] args) {
        String os = System.getProperty("os.name");
        if (os.startsWith("Windows")) {
            System.out.println("当前操作系统是:Windows");
        } else {
            System.out.println("当前操作系统不是 Windows");
        }
    }
}

代码输出结果:

当前操作系统是:Windows
在 Linux 中获取系统名称

在 Linux 操作系统中,我们可以通过执行 shell 命令获取系统的名称。以下是通过 Java 代码获取 Linux 系统名称的示例:

public class Main {
    public static void main(String[] args) {
        String os = getLinuxOsName();
        if (os.startsWith("Linux")) {
            System.out.println("当前操作系统是:Linux");
        } else {
            System.out.println("当前操作系统不是 Linux");
        }
    }

    private static String getLinuxOsName() {
        ProcessBuilder pb = new ProcessBuilder("uname", "-s");
        try {
            Process process = pb.start();
            StringBuilder output = new StringBuilder();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                output.append(line).append("\n");
            }
            int exitVal = process.waitFor();
            if (exitVal == 0) {
                return output.toString().trim();
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
        return "";
    }
}

代码输出结果:

当前操作系统是:Linux
总结

此文介绍了如何使用 Java 获取当前运行程序的操作系统名称,涵盖了 Windows 和 Linux 两种系统。对于开发跨平台应用程序的开发者来说,这是一个比较实用的技能点。