Java预处理器检查操作系统

时间:2011-01-07 02:28:08

标签: java preprocessor system-properties

如何使用Java预处理器来确定我正在编译的操作系统?

2 个答案:

答案 0 :(得分:1)

试试这个:

System.getProperty("os.name")

来自How do I programmatically determine operating system in Java?

BTW Java没有预处理器......我发现的一件令人讨厌的事情。

答案 1 :(得分:1)

没有Java预处理器,也没有条件编译的能力。

内置了一个非常原始的调试功能,允许编译删除具有常量条件的条件块,这是错误的,以便于删除调试代码 - 但我不记得规范是否需要允许从编译的类中删除代码。

static final boolean DEBUG=false;


...


if(Debugging.DEBUG) {
    // some code which the compile may (or must?) eliminate
    }

如果要在运行时检测O / S并在不同平台上执行不同的操作,则System.getProperties()中记录的每个JVM都需要许多系统属性。请参阅JavaDoc,相对它已安装或网络位置:

api/java/lang/System.html#getProperties()