如何获得当前的Java版本?

如何使用c#获取当前的Java版本?

我已经能够找到一种方法来使用C#在我的PC上获取java版本,但我需要能够将安装的版本与最新版本进行比较。 目前,我无法找到API或Web服务来获取此信息。

希望有人在这里知道答案。

最新版本

您可以从此页面提取可供下载的当前版本:

http://java.com/en/download/index.jsp

使用此选择器

.jvc0w2 > strong:nth-child(3) 

像HTML Agility Pack for C#这样的库让这很简单。

当前安装的版本

 RegistryKey rk = Registry.LocalMachine; RegistryKey subKey = rk.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment"); string currentVerion = subKey.GetValue("CurrentVersion").ToString(); 

注意事项

您需要协调这两个字符串的格式以进行比较。

如果我引用的网站检查当前版本的更改,您可能需要更新您的选择器。

尝试:

 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "javac"; psi.UseShellExecute = true; psi.RedirectStandardError = true; psi.Arguments = "-version"; Process p = Process.Start(psi); string strOutput = p.StandardError.ReadToEnd(); p.WaitForExit(); 

然后你应该解析输出的字符串。 此输出通常如下所示:

 javac 1.6.0_27 

如果您对运行时环境(RE)感兴趣,请将javac替换为java

找到所有java.exe文件并将其作为“java -version”运行。 输出看起来像这样:

 java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10) Java HotSpot(TM) Client VM (build 20.10-b01, mixed mode, sharing) 

所以你可以告诉版本。

您还应该查找已安装的Java版本使用的文件夹结构。