如何使用Java预处理器来确定我正在编译的操作系统?
答案 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()