如何使用java类在运行时检测操作系统?

时间:2012-04-03 06:35:24

标签: netbeans netbeans-platform

我在netbeans平台上制作模块化应用程序,我不知道如何检查这个应用程序运行java的操作系统?我希望在我的应用程序中设置文件夹和图像的路径。我想在运行时检查一下。请建议我。

5 个答案:

答案 0 :(得分: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:

(好吧,其余的,这对于答案来说太长了,我担心,看到上面的链接可以获得更多操作系统)。

答案 1 :(得分:2)

通过:

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

你获得Os名称,你可以与你的os进行比较。例如:

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

答案 2 :(得分:1)

此方法将OS名称返回为String

System.getProperty("os.name");

这个类可能用于

开头

http://www.mkyong.com/java/how-to-detect-os-in-java-systemgetpropertyosname/

答案 3 :(得分:0)

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

答案 4 :(得分:0)

System.getProperty("os.name");应返回操作系统名称。