[英]How to get operating system in Java
我知道SO上有這樣的問題,但我找不到。 於是再問...
我需要為我的程序設置屬性,但我需要讓它獨立於操作系統 - 在 Windows XP 和 Linux(未知發行版,未知版本)上運行
更具體地說 - 我需要設置系統在哪里可以找到chromedriver
二進制文件。 我需要這樣的偽代碼:
if (getOs() == Windows){
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver.exe");
} else{
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver");
}
現在我需要獲取操作系統的部分。 感謝幫助。
System.getProperty("os.name");
System.getProperty("os.version");
System.getProperty("os.arch");
你可以使用我寫的實用程序 class,你只需要在你的項目中復制以下 class
https://github.com/aurbroszniowski/os-platform-finder/blob/master/src/main/java/org/jsoftbiz/utils/OS.java
然后做:
import org.jsoftbiz.utils.OS; OS myOS = OS.getOs(); myOS.getPlatformName() myOS.getName() myOS.getVersion() myOS.getArch()
oslib是一個提供有關當前操作系統信息的庫。 您不需要解析從System.getProperty("os.name");
獲得的信息 .
注意:大多數操作系統都經過測試和支持,但有些尚未實施。 如需完整列表,請查看他們的 Github。
AbstractOperatingSystem os = OperatingSystem.getOperatingSystem();
if (os.getType == OperatingSystem.WINDOWS){
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver.exe");
} else if(os.getType == OperatingSystem.LINUX) {
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "chromedriver");
} else {
throw new Exception("Unsupported OS.");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.