有没有办法让java程序知道它当前运行的是哪个平台?

时间:2010-07-05 06:04:51

标签: java jsp cross-platform

java程序(或更具体地说是jsp中的java)有没有办法找出它当前运行的平台(windows或linux)?提前谢谢。

5 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:6)

问题是你需要这个。通常的方法是询问系统属性的值,这些值没有很好地定义,如果由于某种原因需要选择另一个JVM或其他平台,可能会中断。

另一种方法实际上是测试底层平台,以了解在启动期间如何工作所需的功能。即如果您想知道是否可以删除已打开的文件,请为此编写一个小片段测试。如果您想知道文件系统是否区分大小写,那么请为此编写一个片段测试。

从长远来看,这将使您的代码更加健壮。

答案 2 :(得分:3)

尝试:

System.getProperty("os.name")

您可能还会发现this function有用。

答案 3 :(得分:3)

如果您确实想使用System.getProperty("os.name")来识别环境,那么您可能会对以前称为 SUN

的公司所使用的list of identifiers感兴趣

答案 4 :(得分:1)

System.getProperty("os.name")

有关其他类似属性及其说明,请参阅java.lang.System