首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JAVA中获取Windows 10内部版本

如何在JAVA中获取Windows 10内部版本
EN

Stack Overflow用户
提问于 2018-06-23 14:05:42
回答 1查看 476关注 0票数 0

有没有一种简单的方法可以在JAVA中获得Windows操作系统的内部版本(如16299、15063等)?

目前我找到的唯一解决方案是运行外部进程并解析输出:

代码语言:javascript
复制
 Runtime runtime = Runtime.getRuntime();
    Process process;
    BufferedReader bufferedReader;
    StringBuilder stringBuilder = new StringBuilder();
    String stdOutLine = null;
    String windowsVersion = null;

    try {
        process = runtime.exec("cmd.exe /c ver");
        bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        while ((stdOutLine = bufferedReader.readLine()) != null) {
            stringBuilder.append(stdOutLine);
        }
    } catch (IOException ex) {
        throw new RuntimeException("Error while getting Windows version");
    }
    windowsVersion = Arrays.stream(stringBuilder.toString().split("\\."))
            .filter(s -> s.length() == 5 && s.matches("[0-9]+"))
            .findFirst()
            .get();

有没有另一种更优雅的方法来获取字符串或提取所需的部分?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-23 14:19:04

由于Java是独立于平台的,所以它没有API来获取特定于某个平台的信息。

但是,如果您知道如何在C中执行此操作,则可以使用JNI

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50998438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档