2012-04-03 61 views
2

我在netbeans平臺上製作模塊化的應用程序,我不知道如何檢查這個應用程序在哪個操作系統上運行java?相當於我想在我的應用程序中設置我的文件夾和圖像的路徑。我想在運行時檢查一下。請建議我。如何在運行時使用java類檢測OS?

+0

看看這個主題:如何以編程方式確定Java中的操作系統? http://stackoverflow.com/questions/228477/how-do-i-programmatically-determine-operating-system-in-java – dexametason 2012-04-03 06:38:34

回答

4

如果您使用的是NetBeans平臺,那麼你應該添加依賴與Utilities module(非常有用):

然後,你剛纔說

Utilities.isMac() or Utilities.isUnix() or Utilities.isWindows(). 

如果你想這樣做更準確地說,你可以

switch(Utilities.getOperatingSystem()) 
{ 
    case Utilities.OS_AIX: 
    case Utilities.OS_FREEBSD: 
    case Utilities.OS_HP: 
    case Utilities.OS_IRIX: 
    case Utilities.OS_LINUX: 
    case Utilities.OS_MAC: 
    case Utilities.OS_OPENBSD: 
    case Utilities.OS_OS2: 
    case Utilities.OS_SOLARIS: 
    case Utilities.OS_SUNOS: 
    case Utilities.OS_TRU64: 
    case Utilities.OS_WIN95: 
    case Utilities.OS_WIN98: 
    case Utilities.OS_WIN2000: 

(當然,和所有其餘的,這是越來越太長的answe r,恐怕,請參閱上面的鏈接瞭解更多操作系統)。

+0

非常感謝你,這種方法非常適合檢測操作系統。 – Jay 2012-04-04 05:52:04

0

使用System.getProperty("os.name")

+0

謝謝你對我的幫助。 – Jay 2012-04-03 06:57:34

0

System.getProperty("os.name");應該返回操作系統名稱。

+0

謝謝你對我的幫助。 – Jay 2012-04-03 06:58:08

2

通過:

String osName = System.getProperty("os.name").toLowerCase(); 

你得到操作系統名稱和你可以比較你的操作系統。例如:

boolean isMacOs = osName.startsWith("mac os x"); 
if (isMacOs) 
{ 
    // do mac-specific things here 
} 
+0

非常感謝。 – Jay 2012-04-03 06:56:51