我正在寻求在Windows和Linux上运行一个通用的Java程序。
程序需要在每个平台上做一些不同的事情。
那么,我的Java程序如何/应该检测它是在Linux还是Windows下运行呢?
发布于 2013-01-12 08:35:32
apache commons lang有一个可以使用的类SystemUtils.java:
SystemUtils.IS_OS_LINUX
SystemUtils.IS_OS_WINDOWS
发布于 2013-01-12 07:25:21
尝试:
System.getProperty("os.name");
http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#getProperties%28%29
发布于 2014-07-21 17:02:02
您可以使用这个有用的简单class
public class OSValidator {
private static String OS = System.getProperty("os.name").toLowerCase();
public static void main(String[] args) {
System.out.println(OS);
if (isWindows()) {
System.out.println("This is Windows");
} else if (isMac()) {
System.out.println("This is MacOS");
} else if (isUnix()) {
System.out.println("This is Unix or Linux");
} else if (isSolaris()) {
System.out.println("This is Solaris");
} else {
System.out.println("Your OS is not supported!!");
}
}
public static boolean isWindows() {
return OS.contains("win");
}
public static boolean isMac() {
return OS.contains("mac");
}
public static boolean isUnix() {
return (OS.contains("nix") || OS.contains("nux") || OS.contains("aix"));
}
public static boolean isSolaris() {
return OS.contains("sunos");
}
public static String getOS(){
if (isWindows()) {
return "win";
} else if (isMac()) {
return "osx";
} else if (isUnix()) {
return "uni";
} else if (isSolaris()) {
return "sol";
} else {
return "err";
}
}
}
https://stackoverflow.com/questions/14288185
复制相似问题