我需要在Java中检测操作系统名称和版本.我能做到的
String os_name = System.getProperty("os.name", "");
String os_version = System.getProperty("os.version", "");
Run Code Online (Sandbox Code Playgroud)
但问题是这不可靠.有时它返回不正确的信息,除了最流行的Windows,MacOS,Linux等,我无法检测到所有操作系统,这甚至在64位操作系统的情况下提供了错误的信息.我需要检测任何具有任何规格的操作系统.我无法找到合适的解决方案.
也许我可以用JavaScript做到这一点?如果在Java中不可能,请告诉我如何使用JavaScript.
任何意见或建议高度赞赏.
提前致谢.
最好的祝福,
**Nilanjan Chakraborty
在Java中,在猜测操作系统时会出现一些常见的错误:
http://bugs.sun.com/view_bug.do?bug_id=6819886
也许在较新版本的Java中,它们已经解决了.
在Javascript中,您可以使用navigator.appVersion:
// This script sets OSName variable as follows:
// "Windows" for all versions of Windows
// "MacOS" for all versions of Macintosh OS
// "Linux" for all versions of Linux
// "UNIX" for all other UNIX flavors
// "Unknown OS" indicates failure to detect the OS
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
document.write('Your OS: '+OSName);
Run Code Online (Sandbox Code Playgroud)